Python離線安裝第三方庫詳細操作流程
1、場景介紹
在一些服務(wù)器上,我們搭建完Python環(huán)境之后,因為服務(wù)器的網(wǎng)絡(luò)限制原因,不能直接通過pip命令下載安裝Python的依賴包。
因此,我們需要在可以正常上網(wǎng)的服務(wù)器上下載好所需的依賴包文件,然后拷貝到目標(biāo)服務(wù)器,通過pip在目標(biāo)服務(wù)器上進行安裝。
2、準(zhǔn)備requirements.txt文件
requirements.txt文件羅列的是依賴包列表,表示你要下載的依賴包以及對應(yīng)的版本。
該文件可以通過兩種方式創(chuàng)建,分別是pip命令創(chuàng)建和手工創(chuàng)建。

jupyter==1.0.0 notebook==6.1.0
(1)pip命令創(chuàng)建requirements.txt,可以把當(dāng)前服務(wù)器的Python依賴包生成列表到requirements.txt文件中。
【pip list】
【pip freeze >requirements.txt】

(2)手工創(chuàng)建
requirements.txt,直接新建一個requirements.txt文件,然后按照格式填寫所需依賴包以及對應(yīng)版本號。

3、下載依賴包
注意:該步驟需要在可以正常上網(wǎng)的服務(wù)器上下載。下載的依賴包文件如圖2所示。
pip download -r requirements.txt -d packages/ -i https://pypi.tuna.tsinghua.edu.cn/simple
其中:(packages/是要生成的文件夾,存放下載的依賴包文件;https://pypi.tuna.tsinghua.edu.cn/simple是鏡像源地址)。

4、安裝依賴包
準(zhǔn)備好依賴包之后,就可以在無法使用pip命令下載安裝依賴包的目標(biāo)服務(wù)器上進行安裝了。
使用命令之前,需要把packsges文件夾、requirements.txt文件拷貝到目標(biāo)服務(wù)器,下面以requests依賴包為例。
pip install --no-index --find-links=./packages -r ./requirements.txt
(其中:./packsges是依賴包的所在路徑;./requirements.txt是依賴包的列表路徑)。

D:\zjj\pip>pip list
Package Version
--------------------------------- ---------
anyio 3.7.1
argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0
arrow 1.2.3
asttokens 2.2.1
async-lru 2.0.4
attrs 23.1.0
Babel 2.12.1
backcall 0.2.0
beautifulsoup4 4.12.2
bleach 6.0.0
certifi 2023.7.22
cffi 1.15.1
charset-normalizer 3.2.0
colorama 0.4.6
comm 0.1.3
debugpy 1.6.7
decorator 5.1.1
defusedxml 0.7.1
distlib 0.3.7
exceptiongroup 1.1.2
executing 1.2.0
fastjsonschema 2.18.0
filelock 3.12.2
fqdn 1.5.1
idna 3.4
importlib-metadata 6.8.0
importlib-resources 6.0.0
ipykernel 6.25.0
ipython 8.12.2
ipython-genutils 0.2.0
ipywidgets 8.0.7
isoduration 20.11.0
jedi 0.19.0
Jinja2 3.1.2
json5 0.9.14
jsonpointer 2.4
jsonschema 4.18.4
jsonschema-specifications 2023.7.1
jupyter_client 8.3.0
jupyter-console 6.6.3
jupyter-contrib-core 0.4.2
jupyter_core 5.3.1
jupyter-events 0.6.3
jupyter-highlight-selected-word 0.2.0
jupyter-lsp 2.2.0
jupyter-nbextensions-configurator 0.6.3
jupyter_server 2.7.0
jupyter_server_terminals 0.4.4
jupyterlab 4.0.3
jupyterlab-pygments 0.2.2
jupyterlab_server 2.24.0
jupyterlab-widgets 3.0.8
lxml 4.9.3
MarkupSafe 2.1.3
matplotlib-inline 0.1.6
mistune 3.0.1
nbclient 0.8.0
nbconvert 7.7.3
nbformat 5.9.1
nest-asyncio 1.5.7
notebook 7.0.0
notebook_shim 0.2.3
overrides 7.3.1
packaging 23.1
pandocfilters 1.5.0
parso 0.8.3
pickleshare 0.7.5
pip 23.2.1
pipenv 2023.7.23
pkgutil_resolve_name 1.3.10
platformdirs 3.10.0
prometheus-client 0.17.1
prompt-toolkit 3.0.39
psutil 5.9.5
pure-eval 0.2.2
pycparser 2.21
Pygments 2.15.1
python-dateutil 2.8.2
python-json-logger 2.0.7
pytz 2023.3
pywin32 306
pywinpty 2.0.11
PyYAML 6.0.1
pyzmq 25.1.0
qtconsole 5.4.3
QtPy 2.3.1
referencing 0.30.0
requests 2.31.0
rfc3339-validator 0.1.4
rfc3986-validator 0.1.1
rpds-py 0.9.2
Send2Trash 1.8.2
setuptools 68.0.0
six 1.16.0
sniffio 1.3.0
soupsieve 2.4.1
stack-data 0.6.2
terminado 0.17.1
tinycss2 1.2.1
tomli 2.0.1
tornado 6.3.2
traitlets 5.9.0
typing_extensions 4.7.1
uri-template 1.3.0
urllib3 2.0.4
virtualenv 20.24.2
virtualenv-clone 0.5.7
wcwidth 0.2.6
webcolors 1.13
webencodings 0.5.1
websocket-client 1.6.1
widgetsnbextension 4.0.8
zipp 3.16.2
D:\zjj\pip>pip install --no-index --find-links=./packages -r ./requirements.txt
Looking in links: ./packages
Processing d:\zjj\pip\packages\requests-2.28.2-py3-none-any.whl (from -r ./requirements.txt (line 1))
Requirement already satisfied: charset-normalizer<4,>=2 in d:\environment\python\python3.8.10\lib\site-packages (from requests==2.28.2->-r ./requirements.txt (line 1)) (3.2.0)
Requirement already satisfied: idna<4,>=2.5 in d:\environment\python\python3.8.10\lib\site-packages (from requests==2.28.2->-r ./requirements.txt (line 1)) (3.4)
Processing d:\zjj\pip\packages\urllib3-1.26.16-py2.py3-none-any.whl (from requests==2.28.2->-r ./requirements.txt (line 1))
Requirement already satisfied: certifi>=2017.4.17 in d:\environment\python\python3.8.10\lib\site-packages (from requests==2.28.2->-r ./requirements.txt (line 1)) (2023.7.22)
Installing collected packages: urllib3, requests
Attempting uninstall: urllib3
Found existing installation: urllib3 2.0.4
Uninstalling urllib3-2.0.4:
Successfully uninstalled urllib3-2.0.4
Attempting uninstall: requests
Found existing installation: requests 2.31.0
Uninstalling requests-2.31.0:
Successfully uninstalled requests-2.31.0
Successfully installed requests-2.28.2 urllib3-1.26.16
D:\zjj\pip>pip list
Package Version
--------------------------------- ---------
anyio 3.7.1
argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0
arrow 1.2.3
asttokens 2.2.1
async-lru 2.0.4
attrs 23.1.0
Babel 2.12.1
backcall 0.2.0
beautifulsoup4 4.12.2
bleach 6.0.0
certifi 2023.7.22
cffi 1.15.1
charset-normalizer 3.2.0
colorama 0.4.6
comm 0.1.3
debugpy 1.6.7
decorator 5.1.1
defusedxml 0.7.1
distlib 0.3.7
exceptiongroup 1.1.2
executing 1.2.0
fastjsonschema 2.18.0
filelock 3.12.2
fqdn 1.5.1
idna 3.4
importlib-metadata 6.8.0
importlib-resources 6.0.0
ipykernel 6.25.0
ipython 8.12.2
ipython-genutils 0.2.0
ipywidgets 8.0.7
isoduration 20.11.0
jedi 0.19.0
Jinja2 3.1.2
json5 0.9.14
jsonpointer 2.4
jsonschema 4.18.4
jsonschema-specifications 2023.7.1
jupyter_client 8.3.0
jupyter-console 6.6.3
jupyter-contrib-core 0.4.2
jupyter_core 5.3.1
jupyter-events 0.6.3
jupyter-highlight-selected-word 0.2.0
jupyter-lsp 2.2.0
jupyter-nbextensions-configurator 0.6.3
jupyter_server 2.7.0
jupyter_server_terminals 0.4.4
jupyterlab 4.0.3
jupyterlab-pygments 0.2.2
jupyterlab_server 2.24.0
jupyterlab-widgets 3.0.8
lxml 4.9.3
MarkupSafe 2.1.3
matplotlib-inline 0.1.6
mistune 3.0.1
nbclient 0.8.0
nbconvert 7.7.3
nbformat 5.9.1
nest-asyncio 1.5.7
notebook 7.0.0
notebook_shim 0.2.3
overrides 7.3.1
packaging 23.1
pandocfilters 1.5.0
parso 0.8.3
pickleshare 0.7.5
pip 23.2.1
pipenv 2023.7.23
pkgutil_resolve_name 1.3.10
platformdirs 3.10.0
prometheus-client 0.17.1
prompt-toolkit 3.0.39
psutil 5.9.5
pure-eval 0.2.2
pycparser 2.21
Pygments 2.15.1
python-dateutil 2.8.2
python-json-logger 2.0.7
pytz 2023.3
pywin32 306
pywinpty 2.0.11
PyYAML 6.0.1
pyzmq 25.1.0
qtconsole 5.4.3
QtPy 2.3.1
referencing 0.30.0
requests 2.28.2
rfc3339-validator 0.1.4
rfc3986-validator 0.1.1
rpds-py 0.9.2
Send2Trash 1.8.2
setuptools 68.0.0
six 1.16.0
sniffio 1.3.0
soupsieve 2.4.1
stack-data 0.6.2
terminado 0.17.1
tinycss2 1.2.1
tomli 2.0.1
tornado 6.3.2
traitlets 5.9.0
typing_extensions 4.7.1
uri-template 1.3.0
urllib3 1.26.16
virtualenv 20.24.2
virtualenv-clone 0.5.7
wcwidth 0.2.6
webcolors 1.13
webencodings 0.5.1
websocket-client 1.6.1
widgetsnbextension 4.0.8
zipp 3.16.2
D:\zjj\pip>
總結(jié)
到此這篇關(guān)于Python離線安裝第三方庫的文章就介紹到這了,更多相關(guān)Python離線安裝第三方庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python下函數(shù)參數(shù)的傳遞(參數(shù)帶星號的說明)
python中函數(shù)參數(shù)的傳遞是通過賦值來傳遞的。2010-09-09
python 正則表達式貪婪模式與非貪婪模式原理、用法實例分析
這篇文章主要介紹了python 正則表達式貪婪模式與非貪婪模式原理、用法,結(jié)合實例形式詳細分析了python 正則表達式貪婪模式與非貪婪模式的功能、原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下2019-10-10
python數(shù)據(jù)分析apply(),map(),applymap()用法
這篇文章主要介紹了python數(shù)據(jù)分析apply(),map(),applymap()用法,可以方便地實現(xiàn)對批量數(shù)據(jù)的自定義操作。用法歸納如下,需要的朋友可以參考一下2022-03-03
Python 詳解通過Scrapy框架實現(xiàn)爬取CSDN全站熱榜標(biāo)題熱詞流程
Scrapy是用純Python實現(xiàn)一個為了爬取網(wǎng)站數(shù)據(jù)、提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架,用途非常廣泛,框架的力量,用戶只需要定制開發(fā)幾個模塊就可以輕松的實現(xiàn)一個爬蟲,用來抓取網(wǎng)頁內(nèi)容以及各種圖片,非常之方便2021-11-11
Python實現(xiàn)五子棋人機對戰(zhàn)?和人人對戰(zhàn)
這篇文章主要介紹了Python實現(xiàn)五子棋人機對戰(zhàn)?和人人對戰(zhàn),通過定義黑白子,落子位置以及獲勝規(guī)則展開詳細內(nèi)容,需要的小伙伴可以參考一下2022-05-05
python中pytest收集用例規(guī)則與運行指定用例詳解
這篇文章主要介紹了python中pytest收集用例規(guī)則與運行指定用例詳解,天會講解一下pytest是如何收集我們寫好的用例?我們又有哪些方式來運行單個用例或者批量運行用例呢,需要的朋友可以參考下2019-06-06



