1. 程式人生 > 程式設計 >Python依賴包遷移到斷網環境操作

Python依賴包遷移到斷網環境操作

場景:由於自己的電腦A效能不足,需要轉移到一臺高效能的主機B上執行python程式,但是該主機不能連線網際網路。

問題:在個人電腦A上建立了一個虛擬環境,安裝了依賴包並且除錯程式使其能執行。但是將虛擬環境所在資料夾複製貼上到主機B上時,無法執行。

環境:Windows、Python3.6

解決辦法:

1.主機A(虛擬環境啟用)pip freeze >requirements.txt 將虛擬環境中安裝的Python依賴包記錄到檔案requirements.txt中。

2.主機A(虛擬環境啟用)pip download -r requirements.txt -d packages 將安裝的Python依賴包儲存到packages目錄下。

3.主機B 在斷網的主機上安裝好python3.6

4.主機B 在專案下建立虛擬環境,並激活。同時將whls資料夾和requirements.txt複製貼上到專案目錄下。

5.主機B(虛擬環境啟用)pip install --no-index --find-links=packages -r requirements.txt 在主機B的虛擬環境中安裝requirements.txt裡的依賴包。

補充知識:python專案匯出所需要的依賴庫或者整個環境的庫

使用pip freeze

pip freeze > requirements.txt

這個命令安裝了環境中的所有第三方包,一般在虛擬環境中可以這樣使用比較方便。

安裝命令

pip install -r requirements.txt

使用 pipreqs

如果想要在正常的環境下整理出一個專案所使用的第三方庫可以使用pipreqs

第一步安裝

pip install pipreqs

使用也很簡單 pipreqs 路徑名

此處直接進到專案根目錄,所以是./

pipreqs ./

這樣直接可以生成專案中所以用的第三方庫。

如果報錯

File "c:\users\devtao\appdata\local\programs\python\python36-32\lib\site-packages\pipreqs\pipreqs.py",line 341,in init

extra_ignore_dirs=extra_ignore_dirs)
File "c:\users\devtao\appdata\local\programs\python\python36-32\lib\site-packages\pipreqs\pipreqs.py",line 75,in get_all_imports
contents = f.read()
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 186: illegal multibyte sequence

可以在安裝的pipreqs.py中修改 74行左右的encoding=‘utf-8'

以上這篇Python依賴包遷移到斷網環境操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。