Python离线安装第三方库

1、场景介绍

在服务器上,我们搭建完Python环境之后,因为服务器的网络限制原因,不能直接通过pip命令下载安装Python的依赖包。
因此,我们需要在可以正常上网的服务器上下载好所需的依赖包文件,然后拷贝到目标服务器,通过pip在目标服务器上进行安装。

2、准备requirements.txt文件

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文件,然后按照格式填写所需依赖包以及对应版本号。

3、下载依赖包

注意:该步骤需要在可以正常上网的服务器上下载

pip download -r requirements.txt -d packages/ -i https://pypi.tuna.tsinghua.edu.cn/simple

其中:(packages/是要生成的文件夹,存放下载的依赖包文件;https://pypi.tuna.tsinghua.edu.cn/simple是镜像源地址)。

PyPI官方库的地址 

  1. lxml-4.9.3-cp39-cp39-win_amd64.whl:这个包是为 Windows 系统上的 CPython 3.9 版本构建的。cp39 表示 CPython 3.9,win_amd64 表示它是为 Windows 的 64 位版本构建的。

  2. 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)



 

4、安装依赖包

准备好依赖包之后,就可以在无法使用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

  • <包名>:这里应该替换为你想要安装的包的名字。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值