到目前位置,我們所有的第三方包安裝都是直接通過pip install xx
的方式進行安裝的,這樣安裝會將那個包安裝到你的系統級的python
環境中。但是這樣有乙個問題,就是如果你現在用django 1.18.x
寫了個**,然後你的領導跟你說,之前有乙個舊專案是用django 2.1.x
開發的,讓你來維護,但是django 1.18.x
不再相容django 2.1.x
的一些語法了。這時候就會碰到乙個問題,我如何在我的電腦中同時擁有django 1.18.x
和django 2.1.x
兩套環境呢?這時候我們就可以通過虛擬環境來解決這個問題。
虛擬環境相當於乙個抽屜,在這個抽屜中安裝的任何軟體包都不會影響到其他抽屜。並且在專案中,我可以指定這個專案的虛擬環境來配合我的專案。比如我們現在有乙個專案是基於django 1.18.x
版本,又有乙個專案是基於django 2.1.x
的版本,那麼這時候就可以建立兩個虛擬環境,在這兩個虛擬環境中分別安裝django 1.18.x
和django 2.1.x
來適配我們的專案。
virtualenv
是用來建立虛擬環境的軟體工具,我們可以通過pip
或者pip3
來安裝:
pip install virtualenv
pip3 install virtualenv # 一般在linux下用這個命令
建立虛擬環境非常簡單,通過以下命令就可以建立了:
# mkvirtualenv [虛擬環境的名字]
mkvirtualenv py_dj2
如果你當前的python3/scripts
的查詢路徑在python2/scripts
的前面,那麼將會使用python3
作為這個虛擬環境的直譯器。如果python2/scripts
在python3/scripts
前面,那麼將會使用python2
來作為這個虛擬環境的直譯器。
虛擬環境建立好了以後,那麼可以進入到這個虛擬環境中,然後安裝一些第三方包,進入虛擬環境在不同的作業系統中有不同的方式,一般分為兩種,第一種是windows
,第二種是linux
:
windows
進入虛擬環境:進入到虛擬環境的scripts
資料夾中,然後執行workon py_dj2。
linux
進入虛擬環境:source /path/to/virtualenv/bin/activate
一旦你進入到了這個虛擬環境中,你安裝包,解除安裝包都是在這個虛擬環境中,不會影響到外面的環境。
退出虛擬環境很簡單,通過乙個命令就可以完成:deactivate
。
建立虛擬環境:
mkvirtualenv my_env
切換到某個虛擬環境:
workon my_env
退出當前虛擬環境:
deactivate
刪除某個虛擬環境:
rmvirtualenv my_env
列出所有虛擬環境:
lsvirtualenv
建立虛擬環境的時候指定python
版本:
在使用mkvirtualenv
的時候,可以指定--python
的引數來指定具體的python
路徑:
mkvirtualenv --python==c:\python36\python.exe hy_env
lenv`的時候,可以指定`--python`的引數來指定具體的`python`路徑:
mkvirtualenv --python==c:\python36\python.exe hy_env
django安裝虛擬環境
在開發過程中,當需要使用python的包時可以聯網安裝 sudo pip3 install 包名稱使用如上命令,會將包安裝到 usr local lib python3.5 dist packages下。產生的問題 如果在一台機器上,想開發多個不同的專案,需要用到同乙個包的不同版本,如果還使用上面的...
Django 虛擬環境設定
virtualenv是用來處理多個用python語言進行開發的專案,在同一臺機器上部署,不同專案依賴不同第三方庫版本所造成的問題。打個比方,現在你機器上要部署2個django專案,a專案是用django1.4開發的,b專案是用django1.7開發的,2個專案部署到一台機子上如果不做處理肯定會有衝突...
django虛擬環境搭建
windows建立django專案 建立虛擬環境,安裝virtualenv,安裝django,建立專案 目的 為每乙個專案單獨配置乙個環境 例如 專案一使用django1.10,專案二使用django1.11 1 建立之前先要安裝virtualenv的乙個安裝包 pip install virtua...