1. 程式人生 > >[Django]1 配置環境

[Django]1 配置環境

課程大作業要求使用Django + python + mongodb實現網頁版調查問卷,於是在Django官網找到了一個投票練習專案。但是出師不利,在填寫urls.py檔案時就遇到了找不到django下的部分模組的問題,經檢查,應該是Django版本問題,Django從1.11到2在urls模組經過了比較大的改變。於是決定重新配置Django環境。

 

首先利用anaconda自帶的虛擬環境功能為Django建立獨立環境:

sudo conda create -n django-2.1

然後啟用環境,併為該環境安裝python3.6:

source activate django-2.1
sudo conda install -n django-2.1 python=3.6

在anacondo的預設channel和清華映象沒有找到Django-2.1,於是採用pip安裝。

sudo pip install Django==2.1

但是總是出現安裝不成功或者安裝成功但在python 中無法呼叫該包的問題。檢查安裝資訊,發現Django預設安裝在了anaconda本身的環境中,而非django-2.1專用:

Requirement already satisfied: pytz in /Users/mayuening/workspace_ana/anaconda3/lib/python3.6/site-packages (from Django==2.1)

於是為當前環境安裝pip:

sudo conda install -n django-2.1 pip

解除安裝舊的django:

sudo pip uninstall django

此時bash提示pip版本低,於是根據提示升級:

sudo pip install --upgrade pip

這時出現了有趣的情況,再輸入pip指令,提示:

(django-2.1) mayueningdeMBP:djangoWS mayuening$ pip
-bash: /Users/mayuening/workspace_ana/anaconda3/bin/pip: No such file or directory

檢查當前pip版本:

which pip

/Users/mayuening/workspace_ana/anaconda3/envs/django-2.1/bin/pip

發現給出了一個新的路徑,也就是我們建立的虛擬環境。但是pip仍然不能直接使用,應該是沒有加入PATH變數。把為虛擬環境配置的pip直接加入PATH感覺不太合適,應該是有另外的設定方法。這裡暫時跳過,解決Django安裝問題:

sudo /Users/mayuening/workspace_ana/anaconda3/envs/django-2.1/bin/pip install Django==2.1

也就是簡單粗暴地給出絕對路徑。這個路徑不用記住,因為使用which pip即可給出。

提示安裝成功,進入python,輸入

from django.urls import include, re_path

沒有報錯。配置成功!