Python依賴包遷移到斷網(wǎng)環(huán)境操作
場景:由于自己的電腦A性能不足,需要轉(zhuǎn)移到一臺高性能的主機(jī)B上運行python程序,但是該主機(jī)不能連接互聯(lián)網(wǎng)。
問題:在個人電腦A上建立了一個虛擬環(huán)境,安裝了依賴包并且調(diào)試程序使其能運行。但是將虛擬環(huán)境所在文件夾復(fù)制粘貼到主機(jī)B上時,無法運行。
環(huán)境:Windows、Python3.6
解決辦法:
1.主機(jī)A(虛擬環(huán)境激活)pip freeze >requirements.txt 將虛擬環(huán)境中安裝的Python依賴包記錄到文件requirements.txt中。
2.主機(jī)A(虛擬環(huán)境激活)pip download -r requirements.txt -d packages 將安裝的Python依賴包保存到packages目錄下。
3.主機(jī)B 在斷網(wǎng)的主機(jī)上安裝好python3.6
4.主機(jī)B 在項目下建立虛擬環(huán)境,并激活。同時將whls文件夾和requirements.txt復(fù)制粘貼到項目目錄下。
5.主機(jī)B(虛擬環(huán)境激活)pip install --no-index --find-links=packages -r requirements.txt 在主機(jī)B的虛擬環(huán)境中安裝requirements.txt里的依賴包。
補(bǔ)充知識:python項目導(dǎo)出所需要的依賴庫或者整個環(huán)境的庫
使用pip freeze
pip freeze > requirements.txt
這個命令安裝了環(huán)境中的所有第三方包,一般在虛擬環(huán)境中可以這樣使用比較方便。
安裝命令
pip install -r requirements.txt
使用 pipreqs
如果想要在正常的環(huán)境下整理出一個項目所使用的第三方庫可以使用pipreqs
第一步安裝
pip install pipreqs
使用也很簡單 pipreqs 路徑名
此處直接進(jìn)到項目根目錄,所以是./
pipreqs ./
這樣直接可以生成項目中所以用的第三方庫。
如果報錯
File 'c:usersdevtaoappdatalocalprogramspythonpython36-32libsite-packagespipreqspipreqs.py', line 341, in initextra_ignore_dirs=extra_ignore_dirs)File 'c:usersdevtaoappdatalocalprogramspythonpython36-32libsite-packagespipreqspipreqs.py', line 75, in get_all_importscontents = f.read()UnicodeDecodeError: ’gbk’ codec can’t decode byte 0xa6 in position 186: illegal multibyte sequence
可以在安裝的pipreqs.py中修改 74行左右的encoding=‘utf-8’
以上這篇Python依賴包遷移到斷網(wǎng)環(huán)境操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Spring security 自定義過濾器實現(xiàn)Json參數(shù)傳遞并兼容表單參數(shù)(實例代碼)2. Java8內(nèi)存模型PermGen Metaspace實例解析3. Python 的 __str__ 和 __repr__ 方法對比4. 基于python實現(xiàn)操作git過程代碼解析5. python 實現(xiàn)"神經(jīng)衰弱"翻牌游戲6. python學(xué)習(xí)之plot函數(shù)的使用教程7. 如何基于python把文字圖片寫入word文檔8. python 實現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的示例9. python wsgiref源碼解析10. 一文搞懂 parseInt()函數(shù)異常行為
