1、線上伺服器匯出requirement.txt
pip freeze > requirement.txt
該檔案產生完畢後,需要做些修改,去掉不需要的函式庫,否則下載的時候會出錯。
2、下載whl檔案 -> packages
pip download -r requirement.txt -d packages
pip download -r requirement.txt -d packages -i https://pypi.tuna.tsinghua.edu.cn/simple/
#下載完成後packages資料夾包含所有的whl檔案。
3、離線伺服器ubuntu20.04 檢視是否包含python pip
這個版本的伺服器已經安裝python3.8.5,但沒有安裝pip,進而導致安裝whl檔案失敗。
沒有python的則需要自行安裝。
4、離線安裝pip
安裝pip的話需要事先安裝setuptools,所以需要下載兩個套件。
------下載
setuptools
pip
#要注意對應的python版本
我下載的是setuptools ==45.2.0 pip==23.1 他們都是要求python>=3.7,最開始我下載的是setuptools==67.6.1,但是出現了問題,最後我選擇了45版本。
-----解壓縮安裝setuptools
tar -xvzf setuptools-45.2.0.tar.gz cd setuptools-45.2.0 python3 setup.py install
出現了問題 No module named 'distutils.core'
#百度了一圈發現少了插件,離線的話又需要重新下載安裝
python3-distutils位址:https://pkgs.org/search/?q=python3-distutils 有時候需要人機檢驗,搜尋完成之後,選擇伺服器版本與python版本,大致對應即可
查看需要的依賴
還需要python3-lib2to3這個,因為python已經有了,直接點擊進去也是選擇對應版本即可。
外掛程式下載位址是在download部分
直接開啟http://archive.ubuntu.com/ubuntu/pool/main/p/python3- stdlib-extensions/python3-distutils_3.8.2-1ubuntu1_all.deb 這個連結開始下載python3-distutils_3.8.2
#同理開啟http://archive.ubuntu.com/ubuntu/pool/main/p/python3 -stdlib-extensions/python3-lib2to3_3.8.2-1ubuntu1_all.deb 下載python3-lib2to3_3.8.2
下載完成後上傳至同一目錄
----安裝setuptools依賴
sudo dpkg -i *.deb
安裝完成後再安裝setuptools,安裝完成後import 看看有沒有問題。
-----解壓縮安裝pip
setuptools安裝成功後就可以安裝pip了
tar -xvzf pip-23.1.tar.gz cd pip-23.1 python3 setup.py install
安裝完成後執行pip list 查看成功與否
#------安裝所有whl檔案
當離線伺服器pip準備就緒後就可以安裝了
pip install --no-index --find-links=packages -r requirement.txt
執行完畢後,pip list查看,如果沒問題則轉移成功。
以上是ubuntu線上伺服器python Package安裝到離線伺服器的方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!