一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

從黑暗走向光明:Python包安裝進(jìn)階之路

 健明 2021-07-14

想當(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)簡直不能太好。

  1. # Linux/Mac用戶修改

  2. # $HOME/.config/pip/pip.conf

  3. [global]

  4. timeout = 60

  5. index-url = https://pypi./simple

  6. ## 注意: 如果使用http鏈接,需要指定trusted-host參數(shù)

  7. [global]

  8. timeout = 60

  9. index-url = http://pypi.douban.com/simple

  10. trusted-host = pypi.douban.com

常用的pip用法一般有:

  1. # 在用戶目錄安裝軟件,不需要root 權(quán)限

  2. pip install --user <package>

  3. # 搜索package

  4. pip search biopython

  5. # 安裝特定版本的package,版本號可以從search的結(jié)果中找到

  6. pip install biopython=1.69

  7. # 卸載package

  8. pip uninstall biopython

  9. # 導(dǎo)出已安裝的包信息

  10. pip freeze > requirements.txt

  11. # 其他使用方法可以參考pip的幫助說明

  12. pip -h

  • 發(fā)現(xiàn)virtualenv

如果你只是測試,或者電腦上同一個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)的目錄刪掉就可以了,非常方便 。

  1. # 安裝virtualenv

  2. pip install --user virtualenv

  3. # 創(chuàng)建一個新的環(huán)境

  4. mkdir my_envs

  5. cd my_envs

  6. # 創(chuàng)建一個env_test目錄,把相關(guān)的package安裝到該目錄下

  7. virtualenv env_test

  8. # 如果系統(tǒng)上有多個python版本,可以通過參數(shù)來指定對應(yīng)的python版本

  9. virtualenv -p /usr/bin/python2.7 env2.7

  10. # 激活虛擬環(huán)境,需要提供具體的虛擬環(huán)境安裝目錄

  11. source env2.7/bin/activate

  12. # 激活后就可以在終端中看到有對應(yīng)提示,如果想關(guān)閉也很簡單

  13. deactivate

上面的都一些基本的用法,如果創(chuàng)建的虛擬環(huán)境比較多,可以借助 virtualenvwrapper來進(jìn)行管理,更多的信息可以參考Python虛擬環(huán)境:http://pythonguidecn./zh/latest/dev/virtualenvs.html。

  • 大殺器anaconda

當(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的使用:

  1. # 首先需要安裝conda,我們下載minicoda,文件比較小,下載過程比較快

  2. wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh

  3. 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/

  1. # 請注意一上順序哈

  2. conda config --add channels https://mirrors.tuna./anaconda/cloud/conda-forge/

  3. conda config --add channels defaults

  4. conda config --add channels r

  5. conda config --add channels bioconda

目前清華源沒有bioconda的鏡像,大家可以到https://github.com/tuna/issues/issues/112這里提一下需求。簡單的使用過程可以參考bioconda的文檔 https://bioconda./上的說明,下面說一下對經(jīng)常用的幾個命令

  1. # 搜索特定軟件包

  2. conda search package-name  

  3. # 新建一個叫py3的環(huán)境,這個環(huán)境里面我們需要指定使用python3

  4. conda create -n py3 python=3.5.3

  5. # 激活虛擬環(huán)境

  6. source activate py3  

  7. # 關(guān)閉虛擬環(huán)境

  8. source deactivate  

  9. # 列出已經(jīng)創(chuàng)建的虛擬環(huán)境  

  10. conda info --evns

  • 參考

  1. pip使用豆瓣源 http://www.cnblogs.com/ZhangRuoXu/p/6370107.html

  2. Python虛擬環(huán)境 http://pythonguidecn./zh/latest/dev/virtualenvs.html


編輯:思考問題的熊

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产亚洲欧美自拍中文自拍| 久久精品国产一区久久久| 亚洲第一区二区三区女厕偷拍| 欧美一本在线免费观看| 欧美六区视频在线观看| 亚洲中文字幕乱码亚洲| 国产精品激情对白一区二区| 国产又大又猛又粗又长又爽| 高清国产日韩欧美熟女| 亚洲第一区二区三区女厕偷拍 | 国产精品欧美一级免费| 久久大香蕉一区二区三区| 日韩熟妇人妻一区二区三区| 欧美人禽色视频免费看| 亚洲国产成人久久一区二区三区| 日韩欧美高清国内精品| 五月婷婷六月丁香亚洲| 国产原创激情一区二区三区| 国产一区二区三中文字幕| 日韩人妻精品免费一区二区三区| 国产精品九九九一区二区| 91超频在线视频中文字幕| 国产内射一级一片内射高清视频| 日韩精品你懂的在线观看| 国产亚洲欧美日韩国亚语| 亚洲另类女同一二三区| 99久热只有精品视频最新| 亚洲一级在线免费观看| 免费午夜福利不卡片在线 视频 | 国产一区二区三区成人精品| 国产水滴盗摄一区二区| 一区二区免费视频中文乱码国产| 日本久久中文字幕免费| 日韩综合国产欧美一区| 日本熟妇熟女久久综合| 欧美日韩国产另类一区二区| 国产一区二区三区午夜精品| 国产又大又硬又粗又黄| 欧美一区二区三区高潮菊竹| 扒开腿狂躁女人爽出白浆av | 91午夜少妇极品福利|