关于python:django import error – 没有名为core.management的模块

django import error - No module named core.management

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

我正在开发一个运行python 2.5和django 1.3的开发服务器。在解包tar.gz下载后,使用python setup.py install安装了django 1.3。

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

1
2
3
4
5
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

好的,我有一个问题。

在Django安装程序中,我再次检查了我的site-packages目录。

1
2
python -c"from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages

好吧,让我们看看我有什么,echo$python_path是空的,所以我设置了它

1
export PYTHON_PATH=/usr/lib/python2.5/site-packages/django

还是没有运气。让我们检查sys.path要说什么

1
2
3
>>> 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和内容

1
2
cat /usr/lib/python2.5/site-packages/django.pth
/usr/lib/python2.5/site-packages/django/

有人知道这是怎么回事吗?

我在前进的道路上找到了一个符号链接,但没有发现新的错误。

1
2
3
4
5
6
7
8
9
10
11
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:unode-from django帮助了我一点,在同一台机器上设置了virtualenv,并且克服了错误,所以仍然不确定这里的实际安装是怎么回事,但它似乎不在django项目中,而是在django/python安装中。


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

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


如果您在virtualenv中,则需要在运行之前激活它。/manage.py"command"

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

如果在.bash_配置文件或.bashrc中配置Workon

1
workon yourvirtualenvname

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


我也有同样的问题,因为我将Django安装为超级用户,所以没有安装在我的virtualenv中。你不应该这样做。

相反,安装方法如下:

1
2
$ source ./bin/activate
$ pip install Django


请用pip重新安装django:

1
sudo pip install --upgrade django==1.3

(将1.3替换为Django版本)


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

我的自定义包的基础与/etc/profile中的目录集共享一个名称。但是,对于Web服务器,包位于不同的位置。所以我从我的$pythonpath中删除了冒犯的条目,并且很好地离开了!

谢谢你的帮助。


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

你要么直截了当地说:python2 manage.py

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

1
#!/usr/bin/env python2


我在运行Raspberry Pi2(而不是VM)上的嵌入式系统(当然是使用Django)时遇到了这个错误。

运行此:

1
 sudo pip install Django

成功了!

  • 以防万一一个使用拉斯宾/杰西的人得到这个

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

1
$ workon env_name

对于我来说,我的服务器使用的是Python2.4。我只是查找了安装在我的服务器上的python 2.7,并创建了一个别名。

1
alias python=python2.7

如果你需要了解更多,我在这里找到了解决方案


我在尝试创建新应用程序时遇到了同样的问题。如果编写python manage.py startapp myapp,那么它将查找usr/bin/python。但您需要这个"python",它位于虚拟env路径的/bin目录中。我通过这样提到virtualenv的python路径来解决这个问题:

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

尝试更改manage.py的第一行。

变化

1
#!/usr/bin/python

通过

1
#!/usr/bin/env python


解决了!!!!

在搜索了很多年,尝试了所有这些不起作用的建议之后,我终于找到了我的设置的解决方案。

我的设置/方案:

  • 窗户,python27
  • 我的Django项目通过SVN签出
  • 在新文件夹中运行python manage.py runserver时,出现了导入错误。
  • python manage.py runserver以前在原始文件夹中工作(我将从中提交更改),直到我删除它。

解决方案

删除manage.py目录中名为django的任何文件夹

是的……我一移除只包含一个uuinit_uuuuuuy文件的文件夹"django",我就可以再次运行服务器了!

不知道为什么


将python python路径存储在一个变量中并执行。这将包括其他丢失的包。

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


1
python3 manage.py runserver

检查python版本


对于使用django 1.6或更高版本的用户,请注意已删除执行管理器。有一个解决方案发布在第二个SO答案中。


此错误通常在未安装Django时发生。如果您已经安装了Django,但仍然收到相同的错误,那么您必须在单独的虚拟环境中工作。您还需要在虚拟环境中安装django。当您在虚拟机的外壳中时,只需执行以下操作:

PIP安装Django

这是因为虚拟机有独立的文件系统,即使安装在您的系统上,也无法识别Django。


解决方案好的。

第一个转到:virtualenv好的。

通过运行命令:货源箱/激活好的。

并安装django,因为您得到了与"import django"相关的错误:好的。

PIP安装Django好的。

然后运行:python manage.py运行服务器好的。

(注意:请将"runserver"更改为要运行的程序名)好的。

对于同一个问题,它在我的案例中起了作用。===========================概要=============================错误:(开发)rakesh macbook pro:src rakesh$python manage.py runserver回溯(最近一次呼叫的最后一次):文件"manage.py",第8行,in从django.core.management import从命令行执行moduleNotfoundError:没有名为"django"的模块好的。

在处理上述异常期间,发生了另一个异常:好的。

回溯(最近一次呼叫的最后一次):文件"manage.py",第14行,in导入DjangomoduleNotfoundError:没有名为"django"的模块好的。

在处理上述异常期间,发生了另一个异常:好的。

回溯(最近一次呼叫的最后一次):文件"manage.py",第17行,in"无法导入django。您确定它已经安装并且"导入错误:无法导入Django。您确定在pythonpath环境变量上已安装并可用吗?您忘记激活虚拟环境了吗?(开发)Rakesh MacBook Pro:SRC Rakesh$(开发)Rakesh MacBook Pro:SRC Rakesh$(开发)rakesh macbook pro:src rakesh$python-wall manage.py测试回溯(最近一次呼叫的最后一次):文件"manage.py",第8行,in从django.core.management import从命令行执行moduleNotfoundError:没有名为"django"的模块好的。

在处理上述异常期间,发生了另一个异常:好的。

回溯(最近一次呼叫的最后一次):文件"manage.py",第14行,in导入DjangomoduleNotfoundError:没有名为"django"的模块好的。

在处理上述异常期间,发生了另一个异常:好的。

回溯(最近一次呼叫的最后一次):文件"manage.py",第17行,in"无法导入django。您确定它已经安装并且"导入错误:无法导入Django。您确定在pythonpath环境变量上已安装并可用吗?您忘记激活虚拟环境了吗?好的。Django安装后:

(开发)MacBook Pro:src-rakesh$pip安装django收集Django下载https://files.pythonhosted.org/packages/51/1a/e0ac7886c7123a03814178d7517dc822af0fe51a72e1a6bf26153103322/django-2.1-py3-none-any.whl(7.3Mb)100%收集Pytz(来自Django)下载https://files.pythonhosted.org/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl(510kb)100%安装收集的包:Pytz、Django好的。解决后:

(开发)MacBook Pro:src-rakesh$python manage.py runserver正在执行系统检查…好的。

系统检查未发现问题(0静音)。好的。

您有15个未应用的迁移。在应用应用程序的迁移(admin、auth、contenttypes、sessions)之前,项目可能无法正常工作。运行"python manage.py migrate"以应用它们。好的。

2018年8月5日-04:39:02django 2.1版,使用设置"trydjango.settings"在http://127.0.0.1:8000上启动开发服务器/使用control-c退出服务器。[2018年8月5日04:39:15]"GET/HTTP/1.1"200 16348[2018年8月5日04:39:15]"get/static/admin/css/fonts.css http/1.1"200 423[2018年8月5日04:39:15]"get/static/admin/fonts/roboto-bold-webfont.woff http/1.1"200 82564[2018年8月5日04:39:15]"get/static/admin/fonts/roboto-light-webfont.woff http/1.1"200 81348[2018年8月5日04:39:15]"get/static/admin/fonts/roboto-regular-webfont.woff http/1.1"200 80304找不到:/favicon.ico[2018年8月5日04:39:16]"get/favicon.ico http/1.1"4041976好的。

祝你好运!!好的。好啊。


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


我通过将path="$virtual_env/bin:$path"更改为path="$path:$virtual_env/bin"来解决此问题。由于一些不太明显的原因,virtualenv目录中的python可执行文件看不到django,但通常安装的python可以看到。


您的项目是使用旧版本的django-admin.py创建的,比django1.3旧

若要修复此问题,请创建另一个Django项目并复制其manage.py并将其粘贴到旧项目中。


拥有一个名为site的应用程序也可以重现这个问题。


我使用"django admin"命令解决了这个问题,方法如下:

django-admin startproject _project_name

只需删除"django admin"附加的".py"


来源~/blog venv/bin/activate

选择virtualenv替换"blog venv"。


确保运行的是正确的python实例,路径上有正确的目录。在我的例子中,这个错误是由于意外地运行了python可执行文件导致的-我实际上在python2.7框架和库下安装了django。同样的情况也可能由于virtualenv而发生。


我在settings.py"before"下发startapp命令之前,将新应用的名称包含在已安装的"应用程序"列表中。一旦我删除了列表条目,我就可以创建这个应用程序。


好吧,就像这样:

您已经创建了一个虚拟环境,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包中。

使用pip:pip安装django的命令

然后这样做:

导入Djangoprint(django.get_version())(取决于您使用的python版本。这适用于python 3+系列)

然后你可以运行这个:python manage.py运行服务器并通过键入:localhost:8000检查您的Web浏览器。你应该能看到姜戈的页面。

希望这有帮助。


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

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

相反,我必须给出python可执行文件的完整路径。

HTH哈林


你们所有人都没有提到一个"像我一样"的人在安装virtualenv之前会安装django的案例…所以对于我这样的人来说,如果你这样做了…激活virtualenv后重新安装django…我希望这有帮助。