没有名为core.management的模块

好的,我看到很多这些错误。 我已经尝试了我所知道的一切,但尚未弄清楚。

我正在开发运行python 2.5和Django 1.3的开发服务器。 解压缩tar.gz下载后,使用python setup.py install安装Django 1.3。

一切运作良好,我很少有需要运行manage.py但我试图使用新的静态文件应用程序,并遇到问题。

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错误。

Side node:来自#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(我假设你知道如何做到这一点)。


如果你在virtualenv中,你需要激活它,然后才能运行./manage.py'命令'

source path/to/your/virtualenv/bin/activate

如果你在.bash_profile或.bashrc中配置workon

workon yourvirtualenvname

*请不要编辑你的manage.py文件,可能是不正确的方式,可能会给你以后的错误


我有同样的问题,因为我是作为超级用户安装Django,因此不在我的virtualenv。 你不应该做sudo pip install Django

相反,请按照以下方式安装它:

$ source ./bin/activate
$ pip install Django
链接地址: http://www.djcxy.com/p/59773.html

上一篇: No module named core.management

下一篇: PyLint, PyChecker or PyFlakes?