2016-11-07 78 views
1

當我嘗試驗證Python3可以看到Django的輸入python3其次import django到終端(這樣我就可以打印Django的版本號),我收到以下錯誤:Python3沒有看到Django的

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

如果我輸入python(後跟import django),但不是python3,則Python可以檢測到Django。我該如何解決這個問題,以便Python3還可以檢測Django?

這些都是我把我的本地機器上安裝Django的步驟:

  1. 升級PIP: sudo -H pip3 install --upgrade pip

  2. 下載和安裝二進制最新版本的Python。

  3. 創建項目目錄: mkdir django-start && cd $_

  4. 安裝的virtualenv: pip3 install virtualenv

  5. 創建一個環境: virtualenv env

  6. 激活環境: source env/bin/activate

  7. 安裝的Django: pip install django

+3

'pip3 install django' –

+0

啊,是的!當然。 :)非常感謝你@KirChou! – shmuli

+0

如果virtualenv是爲python3創建的,pip安裝就可以。 – polku

回答

4

你的virtualenv是專爲Python 2裏的環境。 Cmd python3在virtualenv仍然使用沒有Django的全局Python。

所以,如果你想使用Python 3的virtualenv你應該添加-p--python參數時,初始化ENV:

virtualenv --python $(which python3) env 

記住,您需要刪除舊的Python 2 env文件夾中運行此命令之前。

+0

奇數。我回去進入'pip3 install django'(就像Kir Chou的評論),現在它可以工作。還有什麼我可以忽略的,就像你在答案中指出的那樣? – shmuli

+1

如果您直接運行'pip3 install'命令,它將在全球範圍內安裝Django,因爲您的Python 3不在virtualenv中,因此可以訪問全局Django。如果你只是想在全球安裝軟件包,那麼你不需要virtualenv。 –

+0

我明白了,所以這絕對是應該糾正的問題。謝謝! – shmuli