![](/img/trans.png)
[英]django-admin startproject results in “ModuleNotFoundError: No module named 'config'”
[英]No module named django.core when running django-admin startproject myproject
在macOS上運行django-admin startproject myproject
時出現錯誤
追溯(最近一次通話):
文件“ / usr / local / bin / django-admin”,第2行,在
從django.core導入管理
ImportError:沒有名為django.core的模塊
我檢查了這個問題,但運行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中。
我想念什么嗎?
即使您使它工作,也不是做您正在做的事的好習慣! 理想情況下,/ usr / local / bin /中唯一想要的與python相關的二進制文件是python,pip和virtualenv(或venv,pyvenv)...
我建議您僅在安裝了/Library/Frameworks/Python.framework/Versions/3.6
下刪除它。 據我所知,macOS僅安裝了python2.7而不是python3.6!
然后打開一個新的外殼並嘗試以下操作:
/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,請跳過第一步
使用ls -la
命令在/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/
檢查您的權限。 如果看到root
擁有的任何東西,則可能需要更改。 我懷疑由於您以root用戶身份安裝了某些軟件包,因此權限很奇怪,並且找不到模塊。 如果是這種情況,請使用sudo
以您自己的用戶身份重新安裝軟件包。
您應該檢查的另一件事:如phd所述,您需要確保使用的是您認為的python
版本。 通過運行which python
來告訴您所引用的python --version
的位置,並通過python --version
來進行檢查,以告訴您所使用的版本。 如果不是Python 3.6,則為其他版本的Python安裝了Django。 在這種情況下,只需安裝適用於3.6版的Django,您就會步入正軌。
為了將來參考,Python提供了一個名為venv
的模塊,以防止發生這種情況。 更多信息可以在這里找到。
似乎您正在嘗試在不使用python虛擬環境的情況下創建或處理django項目。 我建議您回顧python 3 venv文檔( https://docs.python.org/3/library/venv.html )。 然后為您的Web應用程序創建一個虛擬環境(venv)。 一旦您完成了該項目的venv設置,就可以將django安裝到該venv中。
在MacOS上,在命令前使用sudo :
sudo django-admin startproject myproject
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.