C12-5 Mac中python虛擬環(huán)境搭建

OSX系統(tǒng)自帶有python語言,可以通過命令行中 python 命令進(jìn)入python解釋界面,并看到版本等相關(guān)信息,exit()可退出,如果只是看看哪個版本可以用python --version命令,系統(tǒng)默認(rèn)的python為python2.7,因?yàn)橛行┫到y(tǒng)文件是用python寫的,所以我們不能輕易修改系統(tǒng)默認(rèn)配置,比如說把新安裝的python3.6修改成名為python,有可能造成系統(tǒng)崩潰就,再花時間去配置系統(tǒng)就得不償失了。

為此我們可以使用Homebrew或者anaconda這些非常好用的工具來管理python多版本共存的問題,并進(jìn)行相應(yīng)的庫管理。自己使用的是Homebrew,用著還可以,前提是需要安裝Xcode。相關(guān)安裝教程,及python不同版本的安裝都有大量資料可供參考,不再贅述,說下自己的使用經(jīng)歷。通過brew安裝python后,其天然的將python2和python3與系統(tǒng)python隔離,避免我們使用python2版本時發(fā)生混亂,要查看區(qū)別可以使用python2 --version、python3 --version命令看路徑就可。且二者均默認(rèn)安裝了pip包安裝工具,只是python2中名為pip,而python3中為pip3,這樣的安排也減少了不同版本命令混亂問題(注意,系統(tǒng)默認(rèn)的python版本,并未安裝pip工具,只有easy-install這一工具,但強(qiáng)烈建議不要用其安裝pip工具)。

但是開發(fā)項(xiàng)目等,需要用到虛擬環(huán)境來很方便的隔離不同的項(xiàng)目及安裝的各種版本的包,因?yàn)榘姹静煌行┯梅ㄒ膊煌?,可能隨意升級會造成不必要的困擾。但brew安裝的python,python3中默認(rèn)安裝了pyenv這一搭建虛擬環(huán)境的工具,而python2卻并未安裝,如果要用python2,就需要我們自己安裝相關(guān)工具,有virtualenv、pyenv等,建議使用pyenv,命令簡單,操作方便。python編譯器建議使用pycharm,sublime也可以只是要用虛擬環(huán)境交互時就比較麻煩。原因自行搜索。所有下述所用命令注意空格。

1、可以在命令行中輸入pip install pyenv或virtualenv,安裝;

2、安裝完成后:virtualenv使用
virtualenv --python==python2 虛擬環(huán)境路徑及名稱,
自己剛安裝因?yàn)椴恢溃凑誴ython2 -m virtualen 名稱,建立的虛擬環(huán)境也能用;
pyenv使用:
python2 -m venv 虛擬環(huán)境名稱
來建立

3、按照上述方法建立完成后,用pycharm進(jìn)入上述虛擬環(huán)境,執(zhí)行一個使用了matplotlib庫的py文件時,會發(fā)現(xiàn)出現(xiàn)錯誤,顯示python命令不能執(zhí)行,因?yàn)閙atplotlib默認(rèn)要去調(diào)用python而我們的虛擬環(huán)境使用的是python2,所以還需要修改下matplotlib的設(shè)置;

4、用ls -a命令看看根目錄下是否存在.matplotlib這一目錄:


查看目錄.png

一般安裝了matplotlib后,都會出現(xiàn)這樣的文件夾,可能不同版本的系統(tǒng)略有差異,但也不會差太多。

5、用
echo "backend: TkAgg" > ~/.matplotlib/matplotlibrc
這一命令寫一個文件,內(nèi)容是引號中的部分,然后重新啟動python,一切正常。文檔中顯示TkAgg是一種API接口,未深入挖掘不知道什么原理。

6、python3中:就用python3 -m venv 虛擬環(huán)境名稱來建立,不能用這一命令指定路徑,因?yàn)闀押罄m(xù)的路徑全部當(dāng)成虛擬環(huán)境名稱來建立多個虛擬環(huán)境,要指定路徑,請自行看文檔。

7、命令行中要激活虛擬環(huán)境:
source 路徑/壞境名/bin/activate
會看到命令行最開頭出現(xiàn)括號,并且其中就是你建立的虛擬環(huán)境名;退出用
deactivate

8、虛擬環(huán)境就是獨(dú)立建立一個文件夾,把python及安裝的包獨(dú)立出來;pyton2只維護(hù)到2020年,所以還是盡早熟悉python3吧,自己用過一段時間,感覺3比2簡潔。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容