Python環(huán)境管理virtualenv&virtualenvwrapper的配置詳解
背景
Python 作為一門成熟的編程語(yǔ)言,擁有無(wú)數(shù)優(yōu)秀的第三方包以方便開發(fā)者能夠快速地構(gòu)建應(yīng)用。一般來(lái)說(shuō),如果你開發(fā)了一個(gè) Python 軟件包想供其他人使用,你可以將它上傳至 PyPI (Python Package Index) 上,然后其他人就可以通過(guò) pip 或者 easy_install等命令輕松地下載和管理各種包。
但是如果在所有的項(xiàng)目都在一個(gè) Python 環(huán)境下,勢(shì)必會(huì)引起包沖突。因此需要一款軟件能夠把每個(gè)項(xiàng)目的Python環(huán)境分離開,每個(gè)項(xiàng)目有自己獨(dú)立的Python版本以及依賴。
virtualenv部分
virtualenv 就是這樣一款能夠建立隔離的 Python 環(huán)境的工具。
一. 安裝
pip install virtualenv
安裝完成之后,輸入 virtualenv–version 如果輸入版本號(hào),表明安裝成功。
二. 基本用法
1、創(chuàng)建環(huán)境
cd my_project # 進(jìn)入工作目錄 virtualenv -p /usr/local/bin/python3.8 myenv # 創(chuàng)建一個(gè) python3.8,名為 myenv 的虛擬環(huán)境
執(zhí)行后,當(dāng)前目錄下會(huì)生成一個(gè)與虛擬環(huán)境同名的文件夾,里面包含 Python 可執(zhí)行文件和 pip 庫(kù)。
在缺省的情況下,虛擬環(huán)境中并沒有包含系統(tǒng)環(huán)境下的site-packages。如果想要使用系統(tǒng)環(huán)境下的第三方包,可以在創(chuàng)建環(huán)境的時(shí)候使用 --system-site-packages。
virtualenv -p /usr/local/bin/python3.8 --system-site-packages myenv
2、使用環(huán)境
cd myenv # 進(jìn)入虛擬環(huán)境目錄 source bin/activate # 激活該虛擬環(huán)境
運(yùn)行完之后,命令行的最前面應(yīng)該出現(xiàn)括號(hào),里面內(nèi)容是虛擬環(huán)境的名字。代表我們已經(jīng)處于該環(huán)境之下,如下圖所示。

3、退出環(huán)境
deactivate
virtualenvwrapper部分
virtualenv 實(shí)際上已經(jīng)足夠優(yōu)秀,但是在操作上稍稍有些繁瑣。比如每次使用 source命令激活環(huán)境,忘記虛擬環(huán)境的地址等等。別急, virtualenvwrapper 這一工具會(huì)讓你覺得環(huán)境管理是如此簡(jiǎn)單,優(yōu)雅。
一. 安裝
pip install virtualenvwrapper
二. 配置
將下面的代碼添加到 .bash_profile(或者 .zshrc)
# virtualenvwrapper config if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh fi
其中 WORKON_HOME是告訴 virtualenvwrapper 放置虛擬環(huán)境的位置。
添加完之后,執(zhí)行
source ~/.bash_profile
如果想要確認(rèn)是否真的安裝成功,可以執(zhí)行
mkvirtualenv --help
如果輸出幫助信息,則安裝成功。
三. 基本用法
1、創(chuàng)建虛擬環(huán)境
mkvirtualenv -p python3 myenv # 創(chuàng)建一個(gè)python3,名為myenv的虛擬環(huán)境
注意:和 virtualenv 不同,virtualenvwrapper 是在我們剛才所說(shuō)的 WORKON_HOME目錄中創(chuàng)建的虛擬環(huán)境而非當(dāng)前目錄。
可以看到命令行的最前面有了括號(hào),里面是環(huán)境的名字。也就是說(shuō)創(chuàng)建完成之后,同時(shí)也激活了該環(huán)境。可以查看當(dāng)前環(huán)境下的 Python 版本 python-V和已安裝的軟件包 pip list。
默認(rèn)情況下,virtualenvwrapper 不會(huì)包含系統(tǒng)的軟件包,只會(huì)安裝一些基本的軟件包,例如pip, setuptools等等。
2、查看所有的虛擬環(huán)境
lsvirtualenv
將會(huì)列出所有的虛擬環(huán)境的名稱。
當(dāng)然你也可以到 ~/.virtualenvs查看所有的虛擬環(huán)境。
3、切換虛擬環(huán)境
workon [env] # 直接切換到env
4、退出虛擬環(huán)境
deactivate
5、刪除虛擬環(huán)境
rmvirtualenv [env]
6、項(xiàng)目中引用虛擬環(huán)境
方法一:在終端中執(zhí)行
環(huán)境已經(jīng)創(chuàng)建好了,且也已經(jīng)激活了。首先進(jìn)去我的項(xiàng)目目錄,執(zhí)行一下程序??聪聢D說(shuō)明是可以了。

方法二:在pycharm IDE中執(zhí)行
首次創(chuàng)建環(huán)境后,需要在IDE中add一下。
選擇Existing environment,在下面即可找到剛剛創(chuàng)建的虛擬環(huán)境myenv。
下次進(jìn)入其他項(xiàng)目時(shí),可以直接選就可以了。

參考鏈接:
https://xu3352.github.io/python/2018/08/17/Python-work-with-virtualenv-and-virtualenvwrapper
官方文檔:https://virtualenvwrapper.readthedocs.io/en/latest/
到此這篇關(guān)于Python環(huán)境管理virtualenv&virtualenvwrapper的配置詳解的文章就介紹到這了,更多相關(guān)Python環(huán)境管理virtualenv&virtualenvwrapper內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)JavaBeans流程詳解
這篇文章主要介紹了Python實(shí)現(xiàn)JavaBeans流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-01-01
Python內(nèi)建屬性getattribute攔截器使用詳解
這篇文章主要為大家介紹了Python內(nèi)建屬性getattribute攔截器使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
Anaconda多環(huán)境多版本python配置操作方法
下面小編就為大家?guī)?lái)一篇Anaconda多環(huán)境多版本python配置操作方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09
python爬蟲多次請(qǐng)求超時(shí)的幾種重試方法(6種)
這篇文章主要介紹了python爬蟲多次請(qǐng)求超時(shí)的幾種重試方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Python爬蟲之爬取最新更新的小說(shuō)網(wǎng)站
這篇文章主要介紹了Python爬蟲之爬取最新更新的小說(shuō)網(wǎng)站,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python爬蟲的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-05-05
python用win32gui遍歷窗口并設(shè)置窗口位置的方法
今天小編就為大家分享一篇python用win32gui遍歷窗口并設(shè)置窗口位置的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07

