2015-01-21 46 views
0

我遵循django快速安裝說明。python控制檯錯誤:ImportError:沒有名爲'django'的模塊

  • 我激活VENV
  • 我確實pip install django從VENV內,有和沒有須藤和接收相同的消息。

要檢查安裝:

>>> import django 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named 'django' 

"did you...?"

不,我沒有。我沒有做任何額外的事情。這是已經安裝了virtualenv的vm(由流浪者/傀儡建造)的新產卵。爲了準備這個venv,我唯一需要做的就是不要使用python 2.7.8系統。 virtualenv --python=/usr/bin/python3.4 myvirtualenv

(在一個單獨的基於金字塔的項目,它會在安裝過程中失敗(python setup.py development.ini會失敗invalid command name 'development.ini'我不需要該項目爲這個項目,但說這句話在這裏可以揭示一些關於安裝)。

那麼,如何讓這個消失

編輯:澄清從@catavaran & @Burhan哈立德

+0

對於龐大的編輯,我表示歉意。當我寫下原件時,我對整件事情(應該只是工作)感到非常惱火。 – monsto 2015-01-21 18:19:09

+0

'pip install django'的輸出是什麼? – 2015-01-22 09:46:13

+0

@BurhanKhalid'pip install django'在清理階段創建目錄時會出現權限錯誤。 – monsto 2015-01-23 21:32:51

回答

0

原來問題是在設置的早期權限。

它導致Django無法完成它的安裝。 pip install django將在安裝的Cleaning up...部分期間在mkdir上出現permissions error失敗。雖然所有的文件可能已經安裝,但我想它並沒有完全配置。

sudo pip install django是沒有更好的,因爲django安裝現在有su權限,這有助於解決上述mkdir問題,同時可能會產生其他問題。

安裝完成後,python控制檯import django會報錯。

修復:虛擬環境需要由調用虛擬環境的用戶擁有。

sudo chown -R youruser:youruser /opt/myenv 

在我的例子中,puppet以root用戶創建venv和dirs。

0

之前安裝的答案/使用Django,你應該激活virtualenv中。不要sudo,而你打電話pip

$ source ~/.virtualenvs/myenv/bin/activate 
$ pip install django 
+0

我編輯了更詳細的原始味精。 – monsto 2015-01-21 21:56:51

2

我懷疑這裏是你出了問題:

  1. 您創建了一個虛擬環境(virtualenv --python=/usr/bin/python3.4
  2. 接下來,你忘了激活;或者你激活了它,然後你做了sudo pip install django

sudo pip將運行系統範圍pip,爲Python 2.7.8安裝django,而不是爲虛擬環境。

如果您退出虛擬環境並嘗試導入django - 它將起作用。

要解決該問題,請確保激活虛擬環境,然後不要使用sudo來安裝軟件包

+0

我編輯了更詳細的原始味精。 – monsto 2015-01-21 21:56:11

相關問題