1. Scene introduction
On some servers, after we set up the Python
environment, due to network restrictions on the server, we cannot directly download and install through the pip
command Install. Therefore, we need to download the required dependency package files on a server with normal Internet access, then copy them to the target server, and run them on the target server through Python
’s dependency package. pip
2. Prepare the requirements.txt file
requirements.txt
The file lists a list of dependent packages, indicating the dependent packages you want to download and the corresponding versions.
This file can be created in two ways, namely using the pip command and manually.
jupyter==1.0.0
notebook==6.1.0
(1) The pip command creates requirements.txt, which can generate a list of the current server's Python dependency packages into the requirements.txt file.
【pip list】
【pip freeze >requirements.txt】
(2) Manually create
requirements.txt
, directly create a newrequirements.txt
file, and then fill in the required dependency packages and corresponding version numbers according to the format.
3. Download dependency packages
Note: This step needs to be downloaded on a server that cannormally access the Internet. The downloaded dependency package file is shown in Figure 2.
pip download -r requirements.txt -d packages/ -i https://pypi.tuna.tsinghua.edu.cn/simple
Among them: (packages/
is the folder to be generated, which stores the downloaded dependency package files; https://pypi.tuna.tsinghua.edu.cn/simple
is the mirror source address).
4. Install dependency packages
After preparing the dependency package, you can install it on the target server that cannot use the pip command to download and install the dependency package.
Before using the command, you need to copy the packsges
folder and requirements.txt
files to the target server, as follows: requests
Dependency package as an example.
pip install --no-index --find-links=./packages -r ./requirements.txt
(where: ./packsges
is the path of the dependent package; ./requirements.txt
is the list path of the dependent package).
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>