linux下安裝使用虛擬環境
阿新 • • 發佈:2020-11-02
linux下安裝使用虛擬環境
一.導語
在使用Python
開發的過程中,工程一多,難免會碰到不同的工程依賴不同版本的庫的問題;
亦或者是在開發過程中不想讓物理環境裡充斥各種各樣的庫,引發未來的依賴災難。
此時,我們需要對於不同的工程使用不同的虛擬環境來保持開發環境以及宿主環境的清潔。
這裡,就要隆重介紹virtualenv
,一個可以幫助我們管理不同Python
環境的絕好工具。
virtualenv
可以在系統中建立多個不同並且相互不干擾的虛擬環境。
二.安裝配置
#指定清華源下載pip的包 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv #升級pip工具 pip3 install --upgrade pip #可選
步驟:
1.安裝virtualenv pip3 install virtualenv 2.建立並且進入目錄 mkdir Myproject cd Myproject
3.建立獨立執行環境-命名 virtualenv --no-site-packages --python=/usr/local/python3/bin/python3 env
#建立一個乾淨的環境,並且指定python直譯器版本為python3,python直譯器位置要換成你所在機器的python計時器的位置,新建立的虛擬環境名稱(位置)為env,env在當前資料夾下
#虛擬環境的結構為環境名稱/bin/activate
4.進入虛擬環境 source venv/bin/activate #此時進入虛擬環境(venv)Myproject,或者說在當前目錄下載入env這個虛擬環境
5.安裝第三方包 (venv)Myproject: pip3 install django==1.9.8 #此時pip的包都會安裝到venv環境下,venv是針對Myproject建立的
6.退出venv環境 deactivate命令
7.virtualenv是如何建立“獨立”的Python執行環境的呢?原理很簡單,就是把系統Python複製一份到virtualenv的環境,
用命令source venv/bin/activate進入一個virtualenv環境時,virtualenv會修改相關環境變數,讓命令python和pip均指向當前的virtualenv環境。
三.virtualenvwrapper
virtualenv
的一個最大的缺點就是:
每次開啟虛擬環境之前要去虛擬環境所在目錄下的bin
目錄下source
一下activate
,這就需要我們記住每個虛擬環境所在的目錄。
並且還有可能你忘記了虛擬環境放在哪。。。
- 一種可行的解決方案是,將所有的虛擬環境目錄全都集中起來,例如/opt/all_venv/,並且針對不同的目錄做不同的事。
- 使用virtualenvwrapper管理你的虛擬環境(virtualenv),其實他就是統一管理虛擬環境的目錄,並且省去了source的步驟。
pip3 install virtualenvwrapper
2.使用者的個人配置
#把下面兩行程式碼新增到 ~/.bashrc檔案中(註釋要記得去掉) #開啟檔案 vim ~/.bashrc #寫入以下幾行程式碼(export可以先去掉) export WORKON_HOME=~/Envs # 設定virtualenv的統一管理目錄, 以後自動下載的虛擬環境,全部都放在這 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' # 新增virtualenvwrapper的引數,生成乾淨隔絕的環境 export VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3 # 指定python直譯器的本體(注意此路徑隨不同的linux環境改變而改變) source /usr/local/python3/bin/virtualenvwrapper.sh# 執行virtualenvwrapper安裝指令碼(這個指令碼軟體也是根據你記得virtualenvwrapper的安裝路徑來)
#讀取檔案,使得生效,此時已經可以使用virtalenvwrapper source ~/.bashrc
#退出會話,重新登入生效,且每次登入的時候,就自動載入virtualenvwrapper工具
3.viryualenvwrapper的基本使用
1. 建立一個虛擬環境: $ mkvirtualenv my_django115 這會在 ~/Envs 中建立 my_django115 資料夾。 2. 在虛擬環境上工作:啟用(進入)虛擬環境my_django115 $ workon my_django115 3. 再建立一個新的虛擬環境 $ mkvirtualenv my_django2 virtualenvwrapper 提供環境名字的tab補全功能。 當有很多環境, 並且很難記住它們的名字時,這就顯得很有用。 4. workon還可以任意停止你當前的環境,可以在多個虛擬環境中來回切換 workon django1.15 workon django2.0 5. 也可以手動停止虛擬環境 deactivate 6. 刪除虛擬環境,需要先退出虛擬環境 rmvirtualenv my_django115
4.其他常用命令
1. 列舉所有的虛擬環境。 lsvirtualenv 2. 導航到當前啟用的虛擬環境的目錄中,比如說這樣您就能夠瀏覽它的 site-packages 。 cdvirtualenv 3. 和上面的類似,但是是直接進入到 site-packages 目錄中。 cdsitepackages 4. 顯示 site-packages 目錄中的內容。 lssitepackages 完整官網介紹:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html