在macOS上运行django-admin startproject myproject
时出现错误
追踪(最近的呼叫最后):
文件" / 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
的符号链接。
我已按照其他问题的建议将/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django
放入我的PYTHONPATH。
我错过了什么吗?
答案 0 :(得分: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,请跳过第一步
答案 1 :(得分:2)
使用/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/
命令检查ls -la
中的权限。如果您看到root
拥有的任何内容,则可能需要更改。我怀疑,因为你以root用户身份安装了一些软件包,所以权限很奇怪,无法找到模块。如果是这种情况,请使用sudo
将您的软件包重新安装为您自己的用户。
你应该检查的另一件事:正如博士提到你需要确保你使用的是你认为自己的版本python
。通过运行which python
来告诉您所引用的位置,然后python --version
告诉您正在使用的版本,从而检查这一点。如果它不是Python 3.6,那么你为不同版本的Python安装了Django。在这种情况下,只需安装Django for 3.6版本即可开始使用。
为了将来的参考,Python提供了一个名为venv
的模块来防止像这样的版本失误。可以找到更多信息here。
答案 2 :(得分:1)
您似乎在尝试在不使用python虚拟环境的情况下创建或处理django项目。我建议查看python 3 venv文档(https://docs.python.org/3/library/venv.html)。然后专门为您的Web应用程序创建一个虚拟环境(venv)。一旦你成为该项目的venv设置,你就可以将django安装到那个venv。
答案 3 :(得分:0)
在MacOS上,在命令前使用 sudo :
sudo django-admin startproject myproject