一 問題
為啥突然有這篇推文呢?主要是最近在用服務(wù)器運行一些程序的時候出現(xiàn)了以下情形:
哎,明明上次這個腳本還能運行的,為啥這次突然不行?
腳本沒問題呀,也沒有修改過
明白了,上次運行其他程序時又裝了新的包
錯誤是部分包升級了,那降級就好了
...(過了許久)...
經(jīng)過九九八十一難,終于降級成功
成功運行,也耗費了半天時間
因此,才出現(xiàn)這一篇推文,也想著為讀者們提供一點借鑒的意義。
二 解決方案
其實,這個問題共有五種解決方案:
第一種:不停的升級降級,如下文。優(yōu)點是不用考慮其他,缺點是比較費時
第二種:將包安裝到指定目錄,本文介紹的。優(yōu)點是需要騰出空間安裝包,缺點是包的引用會較為復(fù)雜
第三種:使用conda。這種目前未嘗試,但是聽說部分包的安裝會污染系統(tǒng)環(huán)境
第四種:使用docker。這種是我比較推薦的,不污染系統(tǒng)環(huán)境,并且即裝即用,只是會比較耗內(nèi)存。下一篇推文將介紹
第五種:一個程序一個電腦,土豪必備,缺點就是比較廢棄
下面的話就介紹第二種方法
首先,我們需要指定一個目錄用于新包安裝目錄
其次,將每個安裝的包都安裝到這一目錄
第三,在需要調(diào)用這個包時,通過以下命令將包路徑添加到系統(tǒng)中。PS:路徑結(jié)尾不需要添加路徑符號‘/’
export?PYTHONPATH="${PYTHONPATH}:you_python_package_absolute_path"
需要注意的是該變動僅在當(dāng)前終端存在的前提下才有效,關(guān)閉終端后無效。不過,這對于一次程序的提交已然足夠了
最后,快樂的運行你的程序。
三 慣例小結(jié)
其實吧,沒有一種解決方法是全能的,重要的是什么解決方法最有效,用起來也最順手。
另外,細(xì)節(jié)部分可見我的簡書主頁,并且我開發(fā)的Multi-omics Hammer軟件和Multi-omics Visual軟件也歡迎大家使用