一尘不染

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

django

我看到很多这些错误。我已经尝试了所有我想做的事情,但还没有弄清楚。

我正在开发运行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安装程序中,我再次检查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安装。


阅读 822

收藏
2020-03-27

共1个答案

一尘不染

如果像我一样,你正在virtualenv中运行django,并收到此错误,请查看你的manage.py。第一行应定义用于运行脚本的python可执行文件。这应该是你的virtualenv的python的路径,但这是/ usr / bin / python之类的问题,它不是同一路径,并且将使用全局python环境(并且缺少软件包)。只需将路径更改为virtualenv中python可执行文件的路径即可。

你也可以用替换你的shebang线#!/usr/bin/env python。如果你首先激活了virtualenv,那么它应该使用适当的python环境和解释器(我假设你知道如何执行此操作)。

2020-03-27