Python 离线环境下批量安装第三方模块

文章描述了如何在Win10x64环境下使用Python3.7获取已安装的包列表,然后将这些包下载到Win7x86环境中进行离线安装的过程,包括使用`pip`工具、创建`requirements.txt`文件和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当前环境:联网机 Win10 x64 + Python 3.7 , 准备将这些包安装到 内网机 Win7 x86 + Python 3.7 机器上。

1 联网机器,查看安装好的包

C:\Python\Python37-32>python -m pip list
Package         Version
--------------- ------------
beautifulsoup4  4.10.0
colorama        0.4.6
comtypes        1.2.0
et-xmlfile      1.1.0
jdcal           1.4.1
loguru          0.7.0
lxml            4.8.0
numpy           1.21.6
openpyxl        3.0.9
pandas          1.3.5
pip             20.1.1
python-dateutil 2.8.2
pytz            2023.3.post1
pywin32         306
pywinauto       0.6.8
selenium        3.14.1
setuptools      47.1.0
six             1.16.0
soupsieve       2.3.1
urllib3         1.26.8
win32-setctime  1.1.0

2 导出包列表
python -m pip freeze >requirements.txt

3 下载包
python -m pip download -r requirements.txt -d packages

4 内网机器,离线安装(复制 packages 和 requirements.txt)
python -m pip install --no-index --find-links=./packages -r ./requirements.txt

说明:
--find-links: 指定你的下载离线包的文件夹名称(里面有*.whl文件的地方的文件夹名称)
-r ./requirements.txt: 你的这个文件存放的地方
# 单独下载第三方包(clickhouse-driver 为例)
python -m pip download clickhouse-driver -d clickhouse

# 单独安装第三方包(clickhouse-driver 为例)
python -m pip install clickhouse-driver --no-index --find-links=./clickhouse

# 单独下载第三方包特定版本(clickhouse-connect 为例)
python -m pip download clickhouse-connect==0.6.22 -d clickhouse-connect

查看 包依赖 

'''
其他:
01
批量卸载安装好的第三方包
python -m pip uninstall -r requirements.txt -y

02
pip freeze 导出的 requirements 可能含有路径 (@ file:///) 这种,可以使用 pip list 查看版本,将带路径的包改为 显示的版本。

03
经过实验,其实可以将 联网机器上的 Python 打包,直接拷贝到内网机器也可以使用。
'''

'''
参考:
https://blog.csdn.net/wtt234/article/details/128162292
'''
 

<think>我们正在解决用户的问题:在离线的Linux环境安装Python 3.6。根据提供的引用信息,我们可以整合一个离线安装的步骤。 注意:引用[1]提到一个离线安装脚本,但它是针对Python库(如pandas、MySQL等)的,而不是Python解释器本身。引用[2]和[3]提到了安装Python3.6或3.7的过程,引用[4]则提供了一些依赖包的安装命令。 因此,我们需要分两部分: 1. 离线安装Python 3.6解释器。 2. 离线安装所需的Python库(如果需要)。 由于用户只要求安装Python 3.6,我们首先解决解释器的安装。 步骤概述: 1. 在有网络的环境中下载Python 3.6的源码包和依赖包(如果需要的话)。 2. 将下载的文件转移到离线Linux机器上。 3. 安装必要的系统依赖(使用离线包或提前下载好)。 4. 编译安装Python 3.6。 5. 验证安装。 详细步骤: 第一步:下载Python 3.6源码包 在有网络的环境中,访问Python官网下载页面(https://www.python.org/downloads/release/python-3615/ 或选择其他3.6版本),下载源码压缩包(如Python-3.6.15.tgz)。 第二步:下载依赖包(如果需要离线安装依赖) 根据引用[4],安装Python前需要一些系统依赖。我们可以通过在有网络的机器上(相同Linux发行版)下载这些依赖的rpm包(假设是CentOS/RedHat系统)或deb包(Debian/Ubuntu系统),然后离线安装。 例如,对于CentOS系统,使用以下命令下载依赖包(注意:这些包可能已经安装在系统上,但为了离线环境,我们下载到本地): yum install --downloadonly --downloaddir=./python_deps zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc make 将下载的rpm包复制到离线机器。 第三步:在离线机器上安装依赖 将下载的依赖rpm包放在一个目录(如`/path/to/deps`),然后执行: cd /path/to/deps rpm -Uvh *.rpm # 或者使用yum localinstall命令 如果是Debian/Ubuntu系统,则需要下载deb包并使用dpkg -i安装。 第四步:编译安装Python 3.6 1. 将Python源码包(如Python-3.6.15.tgz)上传到离线机器。 2. 解压: tar -zxvf Python-3.6.15.tgz cd Python-3.6.15 3. 配置: ./configure --prefix=/usr/local/python3.6 # 指定安装目录,避免覆盖系统Python 4. 编译和安装: make make install 第五步:设置环境变量 将Python3.6的路径添加到PATH中,可以编辑`/etc/profile`或用户家目录的`.bashrc`文件,添加: export PATH=/usr/local/python3.6/bin:$PATH 然后执行:`source /etc/profile` 或 `source ~/.bashrc` 第六步:验证安装 python3.6 -V pip3.6 --version 关于离线安装Python库: 如果还需要安装一些Python库(如pandas, MySQL-python, SQLAlchemy等),可以采用以下方法: 1. 在有网络的环境中,使用pip下载库的wheel文件(包括依赖): pip download -d ./offline_packages pandas MySQL-python SQLAlchemy 2. 将整个目录复制到离线机器。 3. 在离线机器上使用pip安装: pip install --no-index --find-links=./offline_packages pandas 注意:下载的wheel文件需要与Python版本和系统架构匹配。 根据引用[1]提到的项目,它提供了一个脚本可以简化库的离线安装,但用户需要的是Python解释器的安装,所以这里我们主要解释了解释器的安装过程。 但是,如果用户希望使用引用[1]的脚本来安装库,可以下载该脚本(项目地址:https://gitcode.com/Universal-Tool/0ddef)并在离线环境中运行(前提是已经下载好所有需要的库的wheel文件)。 注意事项: - 确保离线机器上已经安装了gcc、make等编译工具(如果没有,也需要离线安装)。 - 如果系统自带了旧版本的Python,注意不要覆盖,可以通过指定安装目录(如上面的/usr/local/python3.6)来避免。 因此,我们给出一个完整的离线安装Python3.6的步骤,包括依赖安装和编译安装。 相关问题: 1. 在离线环境中如何安装Python第三方库? 2. 如何避免安装Python时与系统自带的Python版本冲突? 3. 在编译安装Python时,如何解决常见的依赖问题? 注意:用户的问题只要求安装Python3.6,所以我们主要回答这个,但相关问题可以扩展。</think>### 离线安装 Python 3.6 的完整教程 #### 一、准备工作 1. **下载 Python 3.6 源码包** 在有网络的设备访问 [Python 官网](https://www.python.org/downloads/release/python-368/) 下载源码包(如 `Python-3.6.8.tgz`)。 2. **下载依赖包** 根据引用[4],需提前下载以下依赖包(需与 Linux 发行版匹配): ```bash zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel gcc make ``` *建议使用相同系统的在线机器下载 RPM/Deb 包:* - CentOS/RHEL: `yum install --downloadonly --downloaddir=./deps <包名>` - Ubuntu: `apt-get download <包名>` #### 二、离线安装依赖 1. 上传所有依赖包到离线服务器 2. 安装依赖(以 CentOS 为例): ```bash cd /path/to/deps rpm -Uvh *.rpm # 或 yum localinstall *.rpm ``` *Ubuntu 使用:* `dpkg -i *.deb` #### 三、编译安装 Python 3.6 ```bash # 1. 解压源码包 tar -zxvf Python-3.6.8.tgz cd Python-3.6.8 # 2. 配置安装路径(避免覆盖系统Python) ./configure --prefix=/usr/local/python3.6 --enable-optimizations # 3. 编译安装(约10-30分钟) make -j$(nproc) sudo make install ``` #### 四、配置环境变量 ```bash # 1. 添加PATH echo 'export PATH=/usr/local/python3.6/bin:$PATH' >> ~/.bashrc source ~/.bashrc # 2. 验证安装 python3.6 -V # 应输出 Python 3.6.x pip3.6 --version ``` #### 五、安装第三方库(可选) 参考引用[1]的离线方案: 1. 在有网络环境下载库的 Wheel 文件: ```bash pip3 download pandas mysqlclient SQLAlchemy -d ./offline_packages ``` 2. 上传 `offline_packages` 到服务器 3. 离线安装: ```bash pip3 install --no-index --find-links=./offline_packages pandas mysqlclient SQLAlchemy ``` #### 六、常见问题解决 1. **导入错误:`zlib not available`** 说明 zlib 依赖未安装,需检查 `zlib-devel` 是否安装[^4]。 2. **pip 不可用** 编译时添加 `--with-ensurepip=install` 参数重装。 3. **多版本共存** 通过 `python3.6` 和 `pip3.6` 明确调用,避免与系统 Python 冲突[^2]。 > **关键提示**:编译前务必安装所有开发依赖包(步骤二),否则可能导致模块功能缺失[^4]。 --- ### 相关问题 1. 如何验证 Python 3.6 安装后的功能完整性? 2. 离线环境下如何安装 Python 的虚拟环境工具(如 virtualenv)? 3. 编译 Python 时 `--enable-optimizations` 参数的作用是什么? 4. 如何为离线环境批量下载 Python 依赖库及其深层依赖? [^1]: 该项目提供了一个便捷的离线安装脚本,帮助用户在Linux系统中快速安装Python 3.6及以上版本的常用库。 [^2]: 验证Python安装成功的标准方法,包括解释器和包管理工具检查。 [^3]: 离线安装需要预先下载的依赖组件列表。 [^4]: 必须安装的开发依赖包列表,缺失会导致编译失败或功能异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值