簡體   English   中英

運行django-admin startproject myproject時沒有名為django.core的模塊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM