可能自己常常會遇到一個這樣的問題,自己服務器安裝的是python2,但是現在有的代碼是基於python3的啊
怎么辦?自己將代碼轉換成python2的唄,是的,我曾經就這樣做過,但是真的是很雞肋
更有一種情況,有的代碼基於的pytorch的版本比較老怎么辦?卸載了重裝唄,很多依賴依舊是卸載重裝,是的我曾經就這樣搞過
但是有這么多代碼要跑,一直用這樣一種操作方式也不是辦法呀,比如我今天跑的代碼依賴比較老的版本,明天跑的代碼依賴比較新的版本。所以要一直這樣切換?
之前我們有三台服務器,不同的服務器有不同的配置,比如有的服務器是python2的,有的服務器是python3的,這樣操作還是比較容易一些,但是數據也要triple啊!強迫症根本就受不了
於是,我發現可以用conda來創建虛擬環境,並且重新生成一個你想要的python環境,和新的一樣
在創建conda環境之前,我之前安裝鏡像的時候都是用proxychains + 命令,可以走代理,但是,我最近發現使用清華的源貌似是比用proxychains要來的更快,添加清華源的命令是(參考鏈接)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes
添加了清華的源之后,下載包飛快,p大的小伙伴表示很服氣
創建虛擬環境的命令是
conda create -n spherecnn python=3.6
上述命令創建一個名稱為spherecnn的python版本為3.6的虛擬環境
用以下命令可以列出已經創建出來的虛擬環境
conda env list
conda中存在的虛擬環境如下圖所示
然后
source activate spherecnn
即可激活自己創建的虛擬環境
這個時候終端的前面會顯示你自己創建的虛擬環境
運行
source deactivate spherecnn
退出虛擬環境
進入到虛擬環境之后,試着輸入python,發現確實是3.6
這個時候你用conda命令安裝的所有包,都是安裝在虛擬環境里面,非常爽,需要什么版本的就安裝什么版本的
而退出虛擬環境之后,輸入python,看一下python的環境是多少
可以看出來,是python2的環境
虛擬環境python這個執行器的路徑在哪里呢?
~/anaconda2/envs路徑包含了所有的你創建的虛擬環境,spherecnn的python執行器在~/anaconda2/envs/spherecnn/bin/pyhon路徑下,pycharm在remote進行調用遠程的編譯器的時候需要知道這個路徑。
不僅僅是pycharm了,jupyter notebook也可以設置虛擬環境,但是首先需要安裝
conda install nb_conda
然后安裝ipykernel並且在ipykernel中添加我們創建的虛擬環境
conda install ipykernel
python3 -m ipykernel install --user --name=spherecnn
然后啟動jupyter的時候就可以在kernel中選擇自己所需要的kernel版本了
虛擬環境的出現,大大提高了生產效率,感謝conda