django导入错误-没有名为core.management的模块

好的,我看到很多这样的错误。我已经尝试了所有我知道要做的事情,但还没有弄明白这一点

我正在一个运行Python2.5和Django 1.3的开发服务器上工作。Django 1.3是在解压缩tar.gz下载后使用python setup.py安装安装的

一切都很好,我很少需要运行manage.py,但我尝试使用新的staticfiles应用程序,遇到了问题

python manage.py
回溯(最近一次呼叫最后一次):
文件“manage.py”,第2行,在<模块>
从django.core.management导入执行管理器
ImportError:没有名为core.management的模块

好的,我有一个路径问题

在Django安装中,我仔细检查了我的站点包目录

python-c“从distutils.sysconfig导入get\u python\u lib;打印get\u python\u lib()
/usr/lib/python2.5/site-packages

好的,让我们看看我有什么,echo$PYTHON\u路径是空的,所以我设置了它

导出PYTHON\u路径=/usr/lib/python2.5/site-packages/django

还是不走运。让我们检查sys.path有什么要说的

&gt&燃气轮机&燃气轮机;导入系统
&燃气轮机&燃气轮机&燃气轮机;打印系统路径
['''/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/site-packages/site-packages'、'/usr/lib/python2.5/site-var/PIL']

路径就在那里,我甚至用内容创建了/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
回溯(最近一次呼叫最后一次):
文件“manage.py”,第14行,在<模块>
执行\u管理器(设置)
文件“/usr/lib/python2.5/site packages/django/core/management/_init__.py”,第438行,在执行管理器中
utility.execute()
文件“/usr/lib/python2.5/site packages/django/core/management/_init__.py”,执行中第349行
version=get_version(),
get_版本中的文件“/usr/lib/python2.5/site packages/django/_init__uuu.py”,第12行
从django.utils.version导入获取修订版
ImportError:没有名为utils.version的模块

我还尝试创建一个新项目,以查看是否存在任何问题,并得到相同的utils.version错误

Side node:Unode from#django帮了我一点忙,在同一台机器上设置了virtualenv,并克服了错误,因此仍然不确定这里实际的安装是怎么回事,但它似乎不是在django项目中,而是在django/python安装中

如果像我一样,您正在virtualenv中运行django,并且出现此错误,请查看您的manage.py
第一行应该定义用于运行脚本的python可执行文件。
这应该是virtualenv的python的路径,但它与/usr/bin/python一样是错误的,它不是相同的路径,将使用全局python环境(并且将丢失包)。
只需将路径更改为virtualenv中python可执行文件的路径

您还可以将shebang行替换为#/usr/bin/env python。这应该使用适当的python环境和解释器,前提是您首先激活virtualenv(我假设您知道如何做到这一点)

发表评论