django导入错误 “ImportError: No module named core.management”

问题:

好的,我看到很多这些错误。我已经尝试了我所知道的一切,但还没有弄清楚。
我正在开发运行python 2.5和Django 1.3的服务器。在打开tar.gz下载后,使用python setup.py install安装了Django 1.3。
一切都很好,我很少需要运行manage.py,但是我试图使用新的staticfiles应用程序,并遇到问题。

python manage.py collectstatic
Traceback (most recent call last):
  File "manage.py", line 2, in <module>
    from django.core.management import execute_manager
ImportError: No module named core.management

好的,所以我有PATH问题。
Django install我双重检查我的site-packages目录。

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages

好的,让我们看看我有什么,echo $ PYTHON_PATH是空的,所以我设置它

export PYTHON_PATH=/usr/lib/python2.5/site-packages/django

还没有运气让我们检查一下sys.path所说的话

>>> import sys
>>> print sys.path
['', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/django', '/var/lib/python-support/python2.5']

路径在那里,我甚至创建了/usr/lib/python2.5/site-packages/django.pth内容

cat /usr/lib/python2.5/site-packages/django.pth 
/usr/lib/python2.5/site-packages/django/

任何人都有线索,这里发生了什么?
我发现一个符号链接进一步阻碍了路径,但没有一个新的错误。

python manage.py collectstatic
Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    execute_manager(settings)
  File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line 349, in execute
    version=get_version(),
  File "/usr/lib/python2.5/site-packages/django/__init__.py", line 12, in get_version
    from django.utils.version import get_svn_revision
ImportError: No module named utils.version

我也尝试创建一个新项目,看看是否有任何问题,并得到相同的utils.version错误。
侧节点:#django的Unode帮助了我一些,在同一台机器上设置了virtualenv,并得到了错误,所以仍然不知道这里实际安装了什么,但似乎不在django项目中,而是在django / python安装。

回答:

如果像我一样在虚拟化中运行你的django,并且得到这个错误,看看你的manage.py
第一行应该定义用于运行脚本的python可执行文件。
这应该是您的virtualenv的python的路径,但它是错误的/ usr / bin / python,这是不一样的路径,并将使用全局python环境(并将包丢失)。
只需将路径更改为您的virtualenv中的python可执行文件的路径。
您也可以用#!/usr/bin/env python替换你的shebang行。这应该使用适当的python环境和解释器,前提是你先激活你的virtualenv(我假设你知道如何做到这一点)。

Code问答: http://codewenda.com/topics/python/
Stackoverflow: django import error – No module named core.management

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

3 + 1 =