django明明已经安装成功了,为什么还提示No module named django.core.management

2013-11-04 21:36:06 +08:00
 daodao
django 我感觉应该是安装成功了的,已经生成了目录结构,并且导入MySQLdb也没有问题,但是我在执行

ipython manage.py shell

就报错下面的结果:

```
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
/Library/Python/2.7/site-packages/IPython/utils/py3compat.pyc in execfile(fname, *where)
202 else:
203 filename = fname
--> 204 __builtin__.execfile(filename, *where)

/Users/daodao/Desktop/djangoproject/manage.py in <module>()
6 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djangoproject.settings")
7
----> 8 from django.core.management import execute_from_command_line
9
10 execute_from_command_line(sys.argv)

ImportError: No module named django.core.management
```

另外,我在Python开发环境下尝试:

import django.db

Mac上直接弹窗『"Python"意外退出』——>好/重新打开

怎么破啊?????
31467 次点击
所在节点    Python
20 条回复
isaced
2013-11-04 21:43:41 +08:00
django 是条坚信的路啊...
楼主同志任重而道远~~~
paloalto
2013-11-04 22:41:58 +08:00
是不是python版本的问题,stackoverflow上有很多类似的问题:

http://stackoverflow.com/questions/14013728/django-no-module-named-django-core-management
jokaye
2013-11-04 23:17:16 +08:00
激活环境了?
mutoulbj
2013-11-04 23:35:41 +08:00
是不是mac升级到了10.9?我升级后Python常崩溃
hepochen
2013-11-04 23:38:52 +08:00
恭喜GC同学也走上了这条道路。

import django.db 这个应该是无法执行的,需要这个先执行才会生效, os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djangoproject.settings")

但貌似也不应该程序退出,最多是import错误而已……

在python里直接import django是否可以?

或者直接命令行看看django是否可以import
python -c 'import django'
python -c 'import django.core'
python -c 'import django.core.management'
是否都不会抛错?


有没有可能你自己的文件夹/Users/daodao/Desktop/djangoproject/中有个子文件夹叫django?

另外django这个包的安装,本身没有太大的依赖性,只要确认/Library/Python/2.7/site-packages/下有django的文件夹,基本都是成功安装了的。

或者执行下面这行命令。

ls /Library/Python/2.7/site-packages/ | grep 'django'


- - - - - - - -

归根结底,这个问题可能跟django本身没有多大的关系,是import失败。关于python的import逻辑,可能需要自己再去了解下。

另外,不知道现在用的django是什么版本的(跟教程的是否是一致的),我印象中早先以前的一个django版本中默认创建出来的manage.py的处理逻辑稍微有点不一样了。 呃,这个原因的概率应该不大。


对了,入门上手Django,我个人持保留态度。有时间可以试试了解下Flask或web.py,如果感觉更容易接受,就选后者;如果不行,就选Django。再有就是试试用PyCharm作为自己的IDE,等有一天,可以自由地在各个源码间穿梭,就感觉良好了。
daodao
2013-11-04 23:41:40 +08:00
@paloalto 还真是这个问题。

python2.7 manage.py shell 以后就正常了。
cctvsmg
2013-11-04 23:41:52 +08:00
哎,每当这种时候
我总在想,为什么这些个IDE都不集成一个功能,就是:
出了错误以后,自动把error code放了stackoverflow去搜,得到最接近的结果呈现出来
hepochen
2013-11-04 23:43:16 +08:00
@mutoulbj 呃,如果是系统升级了,注意下python自己的环境是否正常

import sys
print sys.path

# 这些路径,就是import默认会去遍历的目录; MacOS对这个处理跟其它的Linux比,是有些差异的。如果是系统版本升级了,照往年的经验,是可能出一些莫名其妙的问题的(比如不同的系统版本默认对应的python版本是不一定一样的,不一样的python版本对应的python环境也是不一定一样的。)。 10.9我没有升,所以并不清楚……
daodao
2013-11-04 23:44:22 +08:00
@hepochen 哈哈!谢谢,主要还是想自己动手做点小项目,之前跟朋友一起做了2个项目,都太受限于人。

为什么入门不推荐django呢?是django比web.py学起来相对比较吃力?还是不易于Python这门语言的掌握?
daodao
2013-11-04 23:46:05 +08:00
@cctvsmg 哈哈...新人,表鄙视,我是放到Google里面的,没出来结果。所以从现在开始收藏stackoverflow啦~
daodao
2013-11-04 23:46:38 +08:00
@mutoulbj 可能跟这个也有关系吧...
hepochen
2013-11-04 23:57:19 +08:00
@daodao 看你这个结果,应该是@mutoulbj 说的原因。你本地的python跟python2.7应该不是同一个东西。 MacOS是这样,最开始环境配置的时候,是比较容易遇到问题的。

我最开始的时候,对Django已经非常熟悉了;后来跟朋友做一个项目的时候,开始用Flask,然后就毅然放弃了Django了,这前估计用了四五年有吧。

Django的文档比较详尽,用的人也多一些,所以遇到再低级的问题,Google下通常都是有答案的;但到后来,Debug时会去看源码时,这就奔溃了,集成过强,关联过多,自定制很麻烦且过于复杂。

怎么选择其实都OK的。

但是!如果GC你是打算做移动端的应用,后端主要是负责数据处理的,呃,那就别从Django入门了!
9hills
2013-11-05 00:04:59 +08:00
升到10.9做的第一件事是重新用brew装下python。。
geew
2013-11-05 09:12:44 +08:00
@cctvsmg +10086
felinx
2013-11-05 09:51:12 +08:00
@daodao 恭喜入坑,这是一条不归路!
sharmy
2013-11-05 11:01:43 +08:00
路径问题?
JohnSmith
2013-11-05 16:49:23 +08:00
你是不是装了多个版本的python了
daodao
2013-11-05 23:00:49 +08:00
@JohnSmith 确实是因为多个版本的原因,但应该不是我安装的。。可能是MACOS自带的吧
daodao
2013-11-05 23:04:46 +08:00
@9hills 我回来试了下...brew install python 之后这个问题仍然存在...
9hills
2013-11-06 00:10:30 +08:00
@daodao 需要先uninstall然后install

或者重新link下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/88017

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX