赞
踩
在服务器上,我们搭建完Python
环境之后,因为服务器的网络限制原因,不能直接通过pip
命令下载安装Python
的依赖包。
因此,我们需要在可以正常上网的服务器上下载好所需的依赖包文件,然后拷贝到目标服务器,通过pip
在目标服务器上进行安装。
requirements.txt
文件罗列的是依赖包列表,表示你要下载的依赖包以及对应的版本。
该文件可以通过两种方式创建,分别是pip命令创建和手工创建。
- gcovr==5.0
- ansi2html==1.5.2
- 第一种 pip命令创建requirements.txt,可以把当前服务器的Python依赖包生成列表到requirements.txt文件中。
-
- pip list
- pip freeze >requirements.txt
-
- 第二种 手工创建requirements.txt,直接新建一个requirements.txt文件,然后按照格式填写所需依赖包以及对应版本号。
-
注意:该步骤需要在可以正常上网的服务器上下载。
pip download -r requirements.txt -d packages/ -i https://pypi.tuna.tsinghua.edu.cn/simple
其中:(packages/
是要生成的文件夹,存放下载的依赖包文件;https://pypi.tuna.tsinghua.edu.cn/simple
是镜像源地址)。
lxml-4.9.3-cp39-cp39-win_amd64.whl
:这个包是为 Windows 系统上的 CPython 3.9 版本构建的。cp39
表示 CPython 3.9,win_amd64
表示它是为 Windows 的 64 位版本构建的。
lxml-4.9.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl
:这个包是为 Linux 系统上的 PyPy 3.8 版本构建的。pp38
表示 PyPy 3.8,manylinux_2_28_x86_64
表示它是为许多 Linux 发行版的 64 位版本构建的,这是因为它遵循了 manylinux2014(PEP 599)规范。eg:安装lxml
根据您提供的配置信息:
- 操作系统:CentOS 7.9
- 内核版本:3.10.0-1160.92.1.el7.x86_64
- Python 版本:Python 3.9
- 架构:x86_64
应该选择一个为 Linux x86_64 架构和 Python 3.9 版本构建的
lxml
wheel 文件。根据manylinux
兼容性标签,应该选择一个与平台兼容的manylinux
版本。应该下载一个名为
lxml-4.9.3-cp39-cp39-manylinux_x86_64.whl
的 wheel 文件,其中cp39
表示它是为 CPython 3.9 版本构建的,manylinux_x86_64
表示它是为许多 Linux 发行版的 64 位版本构建的。由于CentOS 7.9 系统可能不支持最新的manylinux
标准,可能需要寻找一个manylinux1
或manylinux2010
兼容的 wheel。最终找到
lxml-4.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl
- # 获取当前详细的内核信息,包括内核名称、主机名、内核发布版本、内核版本号
- uname -a
- Linux yiwdev01.raina.tech 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
-
- # 查看 pip 安装的包的位置
- pip show numpy
-
- Name: numpy
- Version: 1.21.0
- Summary: NumPy is the fundamental package for array computing with Python.
- Home-page: https://www.numpy.org
- Author: Travis E. Oliphant et al.
- Author-email: None
- License: BSD
- Location: /usr/local/lib/python3.9/site-packages
- Requires:
- Required-by:
-
- # pip 命令对应的 Python 版本
- pip --version
- pip 23.2.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
-
-
-
准备好依赖包之后,就可以在无法使用pip命令下载安装依赖包的目标服务器上进行安装了。
使用命令之前,需要把packsges
文件夹、requirements.txt
文件拷贝到目标服务器。
pip install --no-index --find-links=./packages -r ./requirements.txt
pip install
:这是pip
命令,用于安装 Python 包。
--no-index
:这个选项告诉pip
不要使用 Python Package Index (PyPI)。这通常用于离线安装或当你想要安装的包已经下载到本地时。
-f <directory>
或-f <url>
:这个选项指定了一个本地目录或者一个 URL,pip
将会在这个位置查找包。在你的命令中,whls
应该是一个目录的名字,但是通常需要指定为一个相对路径或绝对路径,比如-f ./whls
。
<包名>
:这里应该替换为你想要安装的包的名字。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。