Python离线安装第三方库详细操作流程
作者:胡八一
1、场景介绍
在一些服务器上,我们搭建完Python
环境之后,因为服务器的网络限制原因,不能直接通过pip
命令下载安装Python
的依赖包。
因此,我们需要在可以正常上网的服务器上下载好所需的依赖包文件,然后拷贝到目标服务器,通过pip
在目标服务器上进行安装。
2、准备requirements.txt文件
requirements.txt
文件罗列的是依赖包列表,表示你要下载的依赖包以及对应的版本。
该文件可以通过两种方式创建,分别是pip命令创建和手工创建。
jupyter==1.0.0 notebook==6.1.0
(1)pip命令创建requirements.txt,可以把当前服务器的Python依赖包生成列表到requirements.txt文件中。
【pip list】
【pip freeze >requirements.txt】
(2)手工创建
requirements.txt
,直接新建一个requirements.txt
文件,然后按照格式填写所需依赖包以及对应版本号。
3、下载依赖包
注意:该步骤需要在可以正常上网的服务器上下载。下载的依赖包文件如图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、安装依赖包
准备好依赖包之后,就可以在无法使用pip命令下载安装依赖包的目标服务器上进行安装了。
使用命令之前,需要把packsges
文件夹、requirements.txt
文件拷贝到目标服务器,下面以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>
总结
到此这篇关于Python离线安装第三方库的文章就介绍到这了,更多相关Python离线安装第三方库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!