我看到很多这样的错误。我已经尝试了所有我知道的方法,但还是没有找到答案。

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

一切都很好,我很少需要运行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。路径会说

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

Side node:来自#django的unnode帮了我一点忙,在同一台机器上设置了virtualenv,并解决了错误,所以仍然不确定这里的实际安装是什么,但它似乎不在django项目中,而是在django/python安装中。


当前回答

我试图在树莓派2(而不是虚拟机)上运行嵌入式系统(当然是使用django)时遇到了这个错误

运行:

 sudo pip install Django

成功了!

以防使用Raspbian/Jessie的人得到这个

其他回答

解决了它! !

在搜索了很长时间并尝试了所有这些都没用的建议之后,我终于找到了适合我的设置的解决方案。

我的设置/场景:

窗户,Python27 我的django项目是通过svn签出的 当在新文件夹中运行python manage.py runserver时,我得到了导入错误 python manage.py runserver曾经在原始文件夹中工作(我将从原始文件夹提交更改),直到我删除它

解决方案

删除manage.py目录下所有名为django的文件夹

这是正确的…当我删除文件夹“django”,它只包含__init__.py文件…我可以再次运行服务器!

不知道为什么

你可能正在使用virtualenvwrapper。不要忘记通过运行来选择您的环境:

$ workon env_name

我也遇到过类似的问题。PyCharm不能运行服务器,但我可以从命令行运行它。我尝试了哪种python,然后确保PyCharm是相同的解释器,然后一切正常工作。

当我试图创建一个新的应用程序时,我也遇到了同样的问题。如果你写python manage.py startapp myapp,那么它会寻找usr/bin/python。但是你需要这个“python”,它位于你的虚拟env路径的/bin目录下。我通过提到virtualenv的python路径来解决这个问题,就像这样:

<env path>/bin/python manage.py startapp myapp

请用pip重新安装django:

sudo pip install --upgrade django==1.3

(将1.3版本替换为django版本)