首页 文章

django import error - 没有名为core.management的模块

提问于
浏览
173

好的,我看到很多这些错误 . 我已经尝试过我所知道的所有事情并且尚未弄清楚这一点 .

我正在开发运行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 install我仔细检查我的 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安装 .

28 回答

  • 2
    python3 manage.py runserver
    

    检查Python的版本

  • 1

    ==================================解决方案=============== ==========================

    首先转到:virtualenv

    通过运行命令:source bin / activate

    并安装django,因为您收到与'import django'相关的错误:

    pip install django

    然后运行:python manage.py runserver

    (注意:请将'runserver'更改为您要运行的程序名称)

    对于同样的问题,它适用于我的情况 . ==================================简介=============== ==========================错误:(开发)Rakeshs-MacBook-Pro:src rakesh $ python manage.py runserver Traceback(最近一次调用)最后一篇:文件“manage.py”,第8行,来自django.core.management import execute_from_command_line ModuleNotFoundError:没有名为'django'的模块

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

    Traceback(最近一次调用最后一次):文件“manage.py”,第14行,导入django ModuleNotFoundError:没有名为'django'的模块

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

    回溯(最近一次调用最后一次):文件“manage.py”,第17行,“无法导入Django . 你确定它已安装并且”ImportError:无法导入Django . 您确定PYTHONPATH环境变量已安装并可用吗?您是否忘记激活虚拟环境? (开发)Rakeshs-MacBook-Pro:src rakesh $(开发)Rakeshs-MacBook-Pro:src rakesh $(开发)Rakeshs-MacBook-Pro:src rakesh $ python -Wall manage.py测试Traceback(最近一次调用最后一次) :文件“manage.py”,第8行,来自django.core.management import execute_from_command_line ModuleNotFoundError:没有名为'django'的模块

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

    Traceback(最近一次调用最后一次):文件“manage.py”,第14行,导入django ModuleNotFoundError:没有名为'django'的模块

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

    回溯(最近一次调用最后一次):文件“manage.py”,第17行,“无法导入Django . 你确定它已安装并且”ImportError:无法导入Django . 您确定PYTHONPATH环境变量已安装并可用吗?您是否忘记激活虚拟环境?

    安装django之后:

    (开发)MacBook-Pro:src rakesh $ pip install django收集django下载https://files.pythonhosted.org/packages/51/1a/e0ac7886c7123a03814178d7517dc822af0fe51a72e1a6bff26153103322/Django-2.1-py3-none-any.whl(7.3MB)100%|██████████████████████████ ██████| 7.3MB 1.1MB / s收集pytz(来自django)下载https://files.pythonhosted.org/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl(510kB)100%|██████████████████████████████ ██| 512kB 4.7MB / s安装收集的包: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:02 Django 2.1版,使用设置'trydjango.settings'在http://127.0.0.1:8000/启动开发服务器_用CONTROL-C退出服务器 . [05 / Aug / 2018 04:39:15] "GET / HTTP/1.1" 200 16348 [05 / Aug / 2018 04:39:15] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423 [05 / Aug / 2018 04:39:15] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 82564 [05/8月/ 2018 04:39:15] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 81348 [05 / Aug / 2018 04:39:15] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 80304未找到:/favicon.ico [05 / Aug / 2018 04:39:16] "GET /favicon.ico HTTP/1.1" 404 1976

    祝好运!!

  • 39

    确保您使用路径上正确的目录运行正确的Python实例 . 在我的情况下,这个错误是由意外运行 python 可执行文件引起的 - 我实际上已经安装了Django python2.7 框架和图书馆 . 同样可能由于virtualenv而发生 .

  • 0

    在我发出startapp命令之前,我在settings.py“之前”将新App的名称包含在INSTALLED_APPS列表中 . 删除列表条目后,我可以创建应用程序 .

  • 9

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

    我的自定义包的基础与/ etc / profile中设置的目录共享一个名称 . 对于网络服务器,这些包位于不同的位置 . 所以我从$ PYTHONPATH中删除了有问题的条目,很高兴去!

    谢谢您的帮助 .

  • 1

    所有你们都没有提到一个案例,有人“喜欢我”会安装django befor安装virtualenv ...所以对于我所有的人,如果你这样做...重新启动django激活virtualenv..i希望这可以帮助

  • 7

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

    pip install django

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

  • 29

    我通过使用'django-admin'命令解决了这个问题,如下所示:

    django-admin startproject _project_name

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

  • 3

    尝试在 Raspberry Pi 2 (和 not a VM )上运行嵌入式系统(当然使用django)时出现此错误

    运行这个:

    sudo pip install Django
    

    诀窍!

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

    你可能正在使用 virtualenvwrapper . 不要忘记运行以下选择您的环境:

    $ workon env_name
    
  • 0

    请用pip重新安装django:

    sudo pip install --upgrade django==1.3
    

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

  • 14

    您的项目是使用早于django1.3的旧版django-admin.py创建的

    修复此问题创建另一个django项目并复制其manage.py并将其粘贴到旧项目中

  • 0

    我遇到了同样的问题,因为我是以超级用户身份安装Django,因此不在我的virtualenv中 . 你不应该 sudo pip install Django

    而是以这种方式安装:

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

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

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

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

    或者你明确地做: python2 manage.py

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

    #!/usr/bin/env python2
    
  • 5

    对我来说,我的服务器使用的是Python 2.4 . 我只是查看了我的服务器上安装的Python 2.7,并创建了一个别名 .

    alias python=python2.7
    

    如果您需要了解更多,我找到了解决方案here

  • 4

    source~ / blog-venv / bin / activate

    选择你的virtualenv来取代“blog-venv” .

  • 0

    我通过将#PATH =“$ VIRTUAL_ENV / bin:$ PATH”改为PATH =“$ PATH:$ VIRTUAL_ENV / bin”解决了这个问题 . 由于我不明白的原因,virtualenv目录中的python可执行文件没有看到django而是正常安装了python .

  • 1

    如果你在virtualenv中,你需要在运行之前激活它./manage.py'command'

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

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

    workon yourvirtualenvname
    

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

  • 2

    有一个名为 site 的应用程序也可以重现此问题 .

  • 0

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

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

  • 3

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

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

    相反,我必须提供Python可执行文件的完整路径 .

    HTH,哈林

  • -2

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

  • 10

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

    更改

    #!/usr/bin/python
    

    通过

    #!/usr/bin/env python
    
  • 2

    Solved it!!!

    寻找之后 ages 并尝试所有其他不起作用的建议,我终于找到了我的设置解决方案 .

    我的设置/方案:

    • Windows,Python27

    • 我的django项目是通过svn检出的

    • 在新文件夹中运行python manage.py runserver时,我收到了导入错误

    • python manage.py runserver曾经在原始文件夹中工作(我会提交更改)直到我删除它

    Solution

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

    这是正确的...一旦我删除了仅包含 init.py 文件的文件夹"django" ...我可以再次运行服务器!

    虽然不知道为什么

  • 158

    好的,所以它是这样的:

    你已经创建了一个虚拟环境,而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 install django

    然后这样做:

    import django print(django.get_version())(取决于你使用的是哪个版本的python . 这适用于python 3系列)

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

    希望这可以帮助 .

  • 0

    对于那些使用Django 1.6或更新版本的人,请注意execute_manager was removed . 在第二个SO答案here中发布了一个解决方案 .

  • 0

    将python python路径存储在变量中并执行 . 这将包括其他缺少的包 .

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

相关问题