生成requiresments.txt的方法有兩種方式:
第一種:
pip freeze > requirement.txt
其中freeze參數是指輸出當前環境中安裝的依賴包。其中【>】指的是把輸出的信息輸入到requirement.txt文件裏。
特點:
會把當前環境中安裝的所有依賴包都輸出來,即使有些文件是當前工程沒依賴的包。這會造成環境的臃腫。當前環境的所有依賴包爲:
第二種:
使用pipreqs模塊,使用指令是:
pip install pipreqs
# 在當前目錄生成
pipreqs . --encoding=utf8 --force
其中的詳細指令使用可以使用help查看:
pipreqs --help
--encoding=utf8
爲使用utf8編碼,不然可能會報UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 406: illegal multibyte sequence 的錯誤。
--force
強制執行,當 生成目錄下的requirements.txt存在時覆蓋。
特點:
其可以按照我們當前工程裏的依賴包來生成對應的requirements.txt文件。
運行這個指令的時候一般需要進行翻牆。要麼其會停在指令運行處很久,也不出結果。如果正常運行的話,即使再大的項目,其也是一兩秒完成的。
如下:
總結:當我們生成requirements.txt的文件後,在另一臺電腦上運行則只需要使用下面的指令一鍵安裝:
pip install -r requirements.txt
注意點:
裝這些一般放到虛擬環境裏,因爲不同項目需要的版本可能會不一樣,導致項目運行出現問題,就比如pytorch,trace的模型使用不同版本會導致運行的結果又偏差。
如果使用pip安裝這個報一些包安裝失敗,則可以使用conda進行安裝。例如pytorch一般會失敗,則使用conda安裝,指令如下:
conda install pytorch=1.1.0