想當(dāng)初剛學(xué)習(xí)Python的時候,就會用書本里面自帶的一些package,用sys,os也用得很開心。后來接觸到biopython項(xiàng)目,發(fā)現(xiàn)原來Python有這么不同功能的包,簡直琳瑯滿目。不過這也是我痛苦的開始,在服務(wù)器上裝個包怎么那么費(fèi)勁呢,缺這少那的。 為了一個包的安裝,我得花多少時間啊,還能不能讓人好好做科研了。 最開始的時候是從源碼開始安裝,一般 python setup.py install 就執(zhí)行安裝過程了,不過可怕的這些包之間的依賴關(guān)系。而且安裝的時候,要選擇安裝目錄。對于剛開始學(xué)習(xí)的我,都要搞暈了。后來還看到一個叫 easy_install ,可以自動解析package之間的依賴關(guān)系,生產(chǎn)效率感覺提上去了。不過經(jīng)常出錯,雖然比手動安裝好多了,使用起來還是挺費(fèi)勁的。 不知道當(dāng)時從哪里看到說用 pip 會更好,看來沒事上上網(wǎng)還是挺有好處的。而且比 easy_install 什么的不知道高到哪里去了,具體差異可以看: pip vs easyinstall https://packaging./pipeasy_install/ why use pip over easy_install https:///questions/3220404/why-use-pip-over-easy-install 上面的鏈接都說得很詳細(xì)了。對于一般的需求, pip install --user <package> 就已經(jīng)很受用了。如果再使用上豆瓣上的PyPi源,那使用體驗(yàn)簡直不能太好。 # Linux/Mac用戶修改
# $HOME/.config/pip/pip.conf
[global]
timeout = 60
index-url = https://pypi./simple
## 注意: 如果使用http鏈接,需要指定trusted-host參數(shù)
[global]
timeout = 60
index-url = http://pypi.douban.com/simple
trusted-host = pypi.douban.com
常用的pip用法一般有: # 在用戶目錄安裝軟件,不需要root 權(quán)限
pip install --user <package>
# 搜索package
pip search biopython
# 安裝特定版本的package,版本號可以從search的結(jié)果中找到
pip install biopython=1.69
# 卸載package
pip uninstall biopython
# 導(dǎo)出已安裝的包信息
pip freeze > requirements.txt
# 其他使用方法可以參考pip的幫助說明
pip -h
如果你只是測試,或者電腦上同一個package安裝了好幾個版本,那么你一定會喜歡 virtualenv 。有了它,現(xiàn)在可以在電腦上安裝不同版本的package了。使用方法也很簡單,因?yàn)?nbsp;virtualenv 也是Python包,可以直接用 pip 來進(jìn)行安裝?,F(xiàn)在可以用它在電腦上創(chuàng)建不同的虛擬環(huán)境了,各個虛擬環(huán)境互不干擾,而且對原有的環(huán)境不會造成影響,哪天不想玩了,直接把對應(yīng)的目錄刪掉就可以了,非常方便 。 # 安裝virtualenv
pip install --user virtualenv
# 創(chuàng)建一個新的環(huán)境
mkdir my_envs
cd my_envs
# 創(chuàng)建一個env_test目錄,把相關(guān)的package安裝到該目錄下
virtualenv env_test
# 如果系統(tǒng)上有多個python版本,可以通過參數(shù)來指定對應(yīng)的python版本
virtualenv -p /usr/bin/python2.7 env2.7
# 激活虛擬環(huán)境,需要提供具體的虛擬環(huán)境安裝目錄
source env2.7/bin/activate
# 激活后就可以在終端中看到有對應(yīng)提示,如果想關(guān)閉也很簡單
deactivate
上面的都一些基本的用法,如果創(chuàng)建的虛擬環(huán)境比較多,可以借助 virtualenvwrapper 來進(jìn)行管理,更多的信息可以參考Python虛擬環(huán)境:http://pythonguidecn./zh/latest/dev/virtualenvs.html。 當(dāng)時在學(xué)習(xí)virtualenv的時候,也發(fā)現(xiàn)anaconda這個東西,不過當(dāng)時覺得軟件太多,而且比較臃腫,對我這種沒裝幾個軟件的來說,virtualenv已經(jīng)夠用了。直到有一天我需要安裝tensorflow的時候,才發(fā)現(xiàn)這東西有多方便。不僅幫你解決依賴關(guān)系,而且還會幫你把相關(guān)的系統(tǒng)依賴也解決了。相信大家在安裝軟件的時候,沒少遇到missing 什么 libxxxx.so什么的信息。有的時候?yàn)榱税惭b這些系統(tǒng)依賴,真的能把人搞瘋。anaconda不僅能解決這些問題,還可以安裝R里面package啊, 雖然我沒用過這個功能?,F(xiàn)在除了anaconda,還有精簡的miniconda和專門為生物信息準(zhǔn)備的bioconda,雖然名字不一樣,只是默認(rèn)安裝時帶的package不一樣而已,使用方法沒什么區(qū)別。下面簡單說明下bioconda的使用: # 首先需要安裝conda,我們下載minicoda,文件比較小,下載過程比較快
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
這樣在你的 $HOME 目錄里面有一個miniconda,保存安裝的軟件使用,而且自動在環(huán)境變量配置文件 .bashrc 添加新的變量設(shè)置。安裝之后可以自己檢查一下,是不是有新的不一樣的東西。你需要要重新登錄一下或者重新加載環(huán)境變量 source ~/.bashrc 。因?yàn)榫W(wǎng)絡(luò)環(huán)境問題,最好修改一下安裝軟件源,可以使用清華anaconda開源鏡像源 https://mirror.tuna./help/anaconda/ # 請注意一上順序哈
conda config --add channels https://mirrors.tuna./anaconda/cloud/conda-forge/
conda config --add channels defaults
conda config --add channels r
conda config --add channels bioconda
目前清華源沒有bioconda的鏡像,大家可以到https://github.com/tuna/issues/issues/112這里提一下需求。簡單的使用過程可以參考bioconda的文檔 https://bioconda./上的說明,下面說一下對經(jīng)常用的幾個命令 # 搜索特定軟件包
conda search package-name
# 新建一個叫py3的環(huán)境,這個環(huán)境里面我們需要指定使用python3
conda create -n py3 python=3.5.3
# 激活虛擬環(huán)境
source activate py3
# 關(guān)閉虛擬環(huán)境
source deactivate
# 列出已經(jīng)創(chuàng)建的虛擬環(huán)境
conda info --evns
pip使用豆瓣源 http://www.cnblogs.com/ZhangRuoXu/p/6370107.html Python虛擬環(huán)境 http://pythonguidecn./zh/latest/dev/virtualenvs.html
編輯:思考問題的熊
|