searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

在离线环境中安装 Python 包的两种方法

2023-12-12 01:41:00
38
0

在一些企业环境中,由于安全原因,服务器可能无法访问外网。这可能会给安装 Python 包带来挑战,因为大多数包都是通过互联网从 PyPI 下载的。但是,有几种方法可以在离线环境中安装 Python 包。

方法一:使用 pip 下载本地依赖包,并在离线环境中安装

步骤1:导出依赖

首先,需要在一个可以访问外网的环境中筛选出项目所需的 Python 包。这可以通过安装 pipreqs 来实现:

pip install pipreqs
cd 你的项目根目录/
pipreqs ./ --encoding=utf-8

运行以上命令后,将在项目根目录下生成一个 requirements.txt 文件,其中包含了项目所需的所有依赖项。

步骤2:离线下载依赖包

然后,根据 requirements.txt 文件导出所需的安装包:

pip download -d PIPDIR -r requirements.txt

其中:

  • -d 指定导出的文件夹。
  • -r 指定根据哪个文件导出。
  • --trusted-host 表示信任主机。

步骤3:在新环境中安装依赖

将包含下载的包的 PIPDIR 文件夹和 requirements.txt 文件移动到新的离线环境中,然后使用以下命令安装依赖:

pip install --no-index --find-links=PIPDIR -r requirements.txt

这里的 --find-links 指定了包的存放目录,-r 指定了依赖列表文件。

方法二:使用 pypi-server 创建私有 pip

这种方法适合独立的小项目,并需要一个可以访问外网的计算机作为服务器。

安装和配置 pypiserver

首先,在能访问外网的服务器上安装 pypiserver

pip install pypiserver

创建一个用于存储安装包的文件夹,并下载所需的包:

mkdir /home/packages
cd /home/packages && pip download numpy

启动 pypi-server

# 不添加参数默认使用 8080 端口和 packages 文件夹
pypi-server
# 或者指定端口和文件夹
pypi-server -p 9090 /home/packages

使用私有 pip 源安装包

在无法连接外网的内网计算机上,通过私有 pip 源安装包。假设服务器的 IP 地址为 127.0.0.1

pip install numpy -i {服务地址} --trusted-host 127.0.0.1

这样,即使在没有外网连接的环境中,也能成功安装 Python 包。

0条评论
0 / 1000