首页 文章

运行django-admin startproject myproject时没有名为django.core的模块

提问于
浏览
2

在macOS上运行 django-admin startproject myproject 时,我收到错误

Traceback(最近一次调用最后一次):文件“/ usr / local / bin / django-admin”,第2行,来自django.core导入管理ImportError:没有名为django.core的模块

我检查了this question但运行 import django 将不会在python3 shell中产生任何输出 .

/usr/local/bin/django-admin/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/bin/django-admin.py 的符号链接 .

我已经按照其他问题的建议在我的PYTHONPATH中放了 /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django .

我错过了什么吗?

3 回答

  • 1

    使用 ls -la 命令检查 /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ 中的权限 . 如果您看到 root 拥有的任何内容,则可能需要更改 . 我怀疑,因为你以root用户身份安装了一些软件包,所以权限很奇怪而无法找到模块 . 如果是这种情况,请使用 sudo 将您的软件包重新安装为您自己的用户 .

    你应该检查另一件事:正如博士提到的,你需要确保你使用 python 版本,你认为你是 . 通过运行 which python 来告诉你你引用的那个的位置来检查这个,并且 python --version 告诉你哪个版本're using. If it'不是Python 3.6,然后你为不同版本的Python安装了Django . 在这种情况下,只需安装Django for 3.6版本即可开始使用 .

    为了将来的参考,Python提供了一个名为 venv 的模块来防止像这样的版本失误 . 更多信息可以在here找到 .

  • 2

    看起来您正在尝试在不使用python虚拟环境的情况下创建或处理django项目 . 我建议查看python 3 venv文档(https://docs.python.org/3/library/venv.html) . 然后专门为您的Web应用程序创建一个虚拟环境(venv) . 一旦你成为该项目的venv设置,你就可以将django安装到那个venv中 .

  • 3

    即使你让它发挥作用,做你正在做的事情也不是好习惯!理想情况下,你想要在/ usr / local / bin /中唯一与python相关的二进制文件是python,pip和virtualenv(或者venv,pyvenv)......

    我建议你删除 /Library/Frameworks/Python.framework/Versions/3.6 只在你安装它的时候 . 据我所知,macOS只附带python2.7而不是python3.6!

    然后打开一个新的shell并尝试这个:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    brew install python3
    pip3 install virtualenv
    cd ~/Desktop/
    mkdir proj
    cd proj
    virtualenv -p python3 env
    source env/bin/activate
    pip install django
    django-admin.py startproject testproj
    

    如果已安装brew,请跳过第一步

相关问题