python virtualenv_python开发之virtualenv与virtualenvwrapper讲解
在使用?Python?開發的過程中,工程一多,難免會碰到不同的工程依賴不同版本的庫的問題;
亦或者是在開發過程中不想讓物理環境里充斥各種各樣的庫,引發未來的依賴災難。
此時,我們需要對于不同的工程使用不同的虛擬環境來保持開發環境以及宿主環境的清潔。
這里,就要隆重介紹?virtualenv,一個可以幫助我們管理不同?Python?環境的絕好工具。
virtualenv?可以在系統中建立多個不同并且相互不干擾的虛擬環境。
一、Linux下安裝、配置virtualenv
#指定清華源下載pip的包
pip3 install-i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
#升級pip工具
pip3 install--upgrade pip
1.安裝virtualenv
pip3 install virtualenv2.創建目錄
mkdir Myproject
cd Myproject3.創建獨立運行環境-命名
virtualenv--no-site-packages --python=python3 venv#得到獨立第三方包的環境,并且指定解釋器是python34.進入虛擬環境
source venv/bin/activate#此時進入虛擬環境(venv)Myproject5.安裝第三方包
(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環境。
二、確保開發環境的一致性
1.假設我們在本地開發環境,準備好了項目+依賴包環境2.現在需要將項目上傳至服務器,上線發布3.那么就要保證服務器的python環境一致性
解決方案:
1.通過命令保證環境的一致性,導出當前python環境的包
pip3 freeze>requirements.txt
這將會創建一個 requirements.txt 文件,其中包含了當前環境中所有包及 各自的版本的簡單列表。
可以使用 “pip list”在不產生requirements文件的情況下, 查看已安裝包的列表。2.上傳至服務器后,在服務器下創建virtualenv,在venv中導入項目所需的模塊依賴
pip3 install-r requirements.txt
三、虛擬環境之virtualenvwrapper
virtualenv?的一個最大的缺點就是:
每次開啟虛擬環境之前要去虛擬環境所在目錄下的?bin?目錄下?source?一下?activate,這就需要我們記住每個虛擬環境所在的目錄。
并且還有可能你忘記了虛擬環境放在哪。。。
一種可行的解決方案是,將所有的虛擬環境目錄全都集中起來,例如/opt/all_venv/,并且針對不同的目錄做不同的事。
使用virtualenvwrapper管理你的虛擬環境(virtualenv),其實他就是統一管理虛擬環境的目錄,并且省去了source的步驟。
步驟1:安裝virtualenvwrapper
pip3 install virtualenvwrapper
步驟2:設置Linux的環境變量,每次啟動就加載virtualenvwrapper
把下面兩行代碼添加到 ~/.bashrc文件中
打開文件
vim~/.bashrc
寫入以下兩行代碼
export WORKON_HOME=~/Envs #設置virtualenv的統一管理目錄
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'#添加virtualenvwrapper的參數,生成干凈隔絕的環境
export VIRTUALENVWRAPPER_PYTHON=/opt/python347/bin/python3 #指定python解釋器
source/opt/python34/bin/virtualenvwrapper.sh #執行virtualenvwrapper安裝腳本
讀取文件,使得生效,此時已經可以使用virtalenvwrapper
source~/.bashrc
步驟3:基本使用virtualenvwrapper
創建一個虛擬環境:
$ mkvirtualenv my_django115
這會在~/Envs 中創建 my_django115 文件夾。
在虛擬環境上工作:激活虛擬環境my_django115
$ workon my_django115
再創建一個新的虛擬環境
$ mkvirtualenv my_django2
virtualenvwrapper 提供環境名字的tab補全功能。
當有很多環境, 并且很難記住它們的名字時,這就顯得很有用。
workon還可以任意停止你當前的環境,可以在多個虛擬環境中來回切換
workon django1.15workon django2.0也可以手動停止虛擬環境
deactivate
刪除虛擬環境,需要先退出虛擬環境
rmvirtualenv my_django115
步驟四:常用其他命令
lsvirtualenv
列舉所有的環境。
cdvirtualenv
導航到當前激活的虛擬環境的目錄中,比如說這樣您就能夠瀏覽它的 site-packages 。
cdsitepackages
和上面的類似,但是是直接進入到 site-packages 目錄中。
lssitepackages
顯示 site-packages 目錄中的內容。
完整官網介紹:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html
圖解
二、Mac下創建pycharm
第二步:
第三步:此時這里的Django環境是虛擬環境的版本
第四步:檢查venv下的django版本
第五步:添加已創建的虛擬環境venv的python解釋器,至pycharm,用于創建1.98指定版本的django
第六步:成功啟動1.98版本的django
總結
以上是生活随笔為你收集整理的python virtualenv_python开发之virtualenv与virtualenvwrapper讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020.2idea创建web_Inte
- 下一篇: redis一般缓存什么样数据_Sprin