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

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

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

一切运作良好,我很less有需要运行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'] 

path在那里,我甚至创build了/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 

我也尝试创build一个新的项目,看看是否有任何问题,并得到相同的utils.version错误。

Side node:从#django的Unode帮助我了一下,在同一台机器上设置了virtualenv,并通过了错误,所以仍然不确定这个实际的安装是什么,但似乎不是在Django的项目,但在Django / python安装。

如果像我一样,你在虚拟环境中运行你的django,并得到这个错误,看看你的manage.py 。 第一行应该定义用于运行脚本的python可执行文件。 这应该是你的virtualenv的python的path,但是它有点像/ usr / bin / python,这是不一样的path,并且会使用全局python环境(和包将会丢失)。 只需将path更改到virtualenv中的python可执行文件path即可。

你也可以用#!/usr/bin/env pythonreplace你的shebang行。 这应该使用适当的python环境和解释器,只要你激活你的virtualenv(我假设你知道如何做到这一点)。

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

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

如果你在.bash_profile或.bashrc中configurationworkon

 workon yourvirtualenvname 

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

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

相反,这样安装它:

 $ source ./bin/activate $ pip install Django 

请用pip重新安装django:

 sudo pip install --upgrade django==1.3 

(将1.3replace为您的django版本)

众所周知,这是一个path问题。

我的自定义软件包的基础与/ etc / profile中设置的目录共享一个名称。 然而,对于networking服务器,这些软件包位于不同的位置。 所以我从我的$ PYTHONPATH中删除了违规的条目,很好走!

谢谢您的帮助。

这个问题的另一个可能的原因是,你的操作系统默认运行python3。

无论你明确做: python2 manage.py

或者编辑manage.py的shebang,如下所示:

 #!/usr/bin/env python2 

我试图在Raspberry Pi 2 (而不是 VM )上运行embedded式系统(当然使用django)时出现此错误,

运行这个:

  sudo pip install Django 

取得了诀窍!

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

对我来说,我的服务器正在使用Python 2.4。 我只是查找了Python 2.7,它安装在我的服务器上,并创build了一个别名。

 alias python=python2.7 

如果您需要了解更多,我在这里find了解决scheme

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

 $ workon env_name 

尝试改变你的第一行manage.py。

更改

 #!/usr/bin/python 

通过

 #!/usr/bin/env python 

当我尝试创build一个新的应用程序时,我遇到了同样的问题。 如果你写python manage.py startapp myapp ,那么它会查找usr / bin / python。 但是您需要位于您的虚拟envpath的 / bin目录中的这个“ python ”。 我通过提到virtualenv的pythonpath解决了这个问题:

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

解决了!

search了几个年龄并尝试了所有这些不起作用的其他build议之后,我终于find了解决scheme。

我的设置/场景:

  • Windows,Python27
  • 我的django项目通过svn检出
  • 当在新文件夹中运行python manage.py runserver时,我得到了导入错误
  • python manage.py运行服务器用于在原始文件夹(我将提交更改),直到我删除它

删除manage.py相同目录下名为django的文件夹

这是正确的…一旦我删除了只包含一个initt .py文件的文件夹“django”…我可以再次运行服务器!

不知道为什么

对于使用Django 1.6或更新版本的用户,请注意, execute_manager已被删除 。 第二个SO答案在这里有一个解决scheme。

将python pythonpath存储在一个variables中并执行。这将包括其他缺less的包。

 python_path= `which python` $python_path manage.py runserver 

我有一个类似的问题。 PyCharm无法运行服务器,但我可以从命令行运行它。 我尝试了哪个python,然后确保PyCharm是相同的解释器,然后一切正常。

这个错误通常发生在没有安装django的时候。 如果您已经安装了django,但仍然出现相同的错误,那么您必须在单独的虚拟环境中工作。 你也需要在你的虚拟环境中安装django。 当你在虚拟机的shell中,只需要这样做:

pip安装django

这是因为虚拟机具有单独的文件系统,即使安装在您的系统上也不会识别django。

我通过更改#PATH =“$ VIRTUAL_ENV / bin:$ PATH”到PATH =“$ PATH:$ VIRTUAL_ENV / bin”来解决这个问题。对于我来说不是很明显的原因,virtualenv目录中的python可执行文件没有看到django,而是正常安装python呢。

您的项目是使用比django1.3更早的旧版本django-admin.py创build的

修复这个创build另一个Django的项目,并复制它的manage.py并将其粘贴在旧的

完全同意,这是一个path问题,但是,我也有同样的错误。 这是由于在设置我的虚拟环境时为我的Python可执行文件使用相对path的错误。 我这样做了:

 virtualenv -p ~/python_runtimes/2.7.3/bin/python venv2.7.3 --distribute 

相反,我必须提供Python可执行文件的完整path。

HTH,Harlin

source〜/ blog-venv / bin / activate

select你的virtualenv来取代“blog-venv”。

确保你正在运行正确的Pythonpath实例。 在我的情况下,这个错误是由于意外运行python可执行文件造成的 – 我实际上是在python2.7框架和库下安装了Django。 virtualenv也可能发生同样的情况。

好吧,所以这是这样的:

你已经创build了一个虚拟环境,而django模块只属于那个环境。因为virtualenv与其他所有东西隔离开来,所以你看到了。

通过这个进一步的帮助:

http://www.swegler.com/becky/blog/2011/08/27/python-django-mysql-on-windows-7-part-i-getting-started/

1.您可以切换到虚拟环境所在的目录,然后运行django模块。

2.另外,您可以通过运行pip或easy_install将django全局安装到您的python-> site-packages

命令使用pip:pip安装django

那么这样做:

导入django打印(django.get_version())(取决于你使用的是哪个版本的Python。这对于python 3+系列)

然后你可以运行这个:python manage.py runserver,并通过键入:localhost:8000来检查你的web浏览器,你应该看到django powered页面。

希望这可以帮助。

我在新发布的startapp命令之前的settings.py“INSTALLED_APPS”列表中包含了新应用程序的名称。 一旦我删除了列表条目,我可以创build应用程序。

我通过使用'django-admin'命令解决了这个问题:

django-admin startproject _project_name

只要删除附加到“django-admin”的“.py”

 python3 manage.py runserver 

检查Python的版本

所有的人都没有提到一个像我这样的人会安装django来安装virtualenv的情况…所以对于我所有的人来说,如果你这样做…在激活virtualenv之后重新安装django ..希望这可以帮助