在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 回答
使用
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找到 .看起来您正在尝试在不使用python虚拟环境的情况下创建或处理django项目 . 我建议查看python 3 venv文档(https://docs.python.org/3/library/venv.html) . 然后专门为您的Web应用程序创建一个虚拟环境(venv) . 一旦你成为该项目的venv设置,你就可以将django安装到那个venv中 .
即使你让它发挥作用,做你正在做的事情也不是好习惯!理想情况下,你想要在/ usr / local / bin /中唯一与python相关的二进制文件是python,pip和virtualenv(或者venv,pyvenv)......
我建议你删除
/Library/Frameworks/Python.framework/Versions/3.6
只在你安装它的时候 . 据我所知,macOS只附带python2.7而不是python3.6!然后打开一个新的shell并尝试这个:
如果已安装brew,请跳过第一步