内网环境安装openpyxl的三种方法

方法一:离线包拷贝(推荐)

适用于有相同Python版本的外网环境可访问的情况

外网环境准备

# 下载openpyxl及其依赖(et-xmlfile)
pip download openpyxl -d ./offline_packages

# 验证下载的包(应包含.whl文件)
ls ./offline_packages

示例输出:openpyxl-3.1.2-py3-none-any.whl, et_xmlfile-1.1.0-py3-none-any.whl

内网环境操作

# 将整个offline_packages目录拷贝至内网机器
pip install --no-index --find-links=./offline_packages openpyxl

# 验证安装
python -c "import openpyxl; print(openpyxl.__version__)"
方法二:site-packages直接复制

适用于严格物理隔离环境

外网环境定位库路径

# 查找openpyxl安装位置
python -c "import openpyxl; print(openpyxl.__file__)"

输出示例:/usr/lib/python3.8/site-packages/openpyxl/__init__.py

内网环境操作
复制外网环境的以下目录到内网对应位置:

  • openpyxl/ # 主库目录
  • openpyxl-3.1.2.dist-info/ # 版本信息目录
  • et_xmlfile-1.1.0.dist-info/ # 依赖库信息
  • et_xmlfile/

放置路径参考:

  • Linux标准路径:/usr/lib/python3.8/site-packages/
  • Windows路径:C:\Python38\Lib\site-packages\
方法三:Anaconda集成方案

若内网已部署Anaconda

# 验证是否预装
conda list | grep openpyxl

# 离线安装
# 外网下载conda包
conda pack -n my_env -o env.tar.gz

# 内网解压激活
mkdir -p my_env && tar -xzf env.tar.gz -C my_env
source my_env/bin/activate

注意事项

  1. 版本兼容性:若使用Python 2.7,需安装openpyxl 2.5.0及以下版本
  2. 依赖问题:需同时下载并安装所有依赖包(如et-xmlfile)
  3. 环境一致性:确保内网与外网的Python版本和操作系统一致
  4. 权限问题:安装时需有足够的权限写入site-packages目录

常见问题排查

  • ModuleNotFoundError:检查sys.path是否包含site-packages路径
  • 版本冲突:确保安装的版本与Python版本兼容
  • 安装失败:检查安装包是否完整,尝试重新下载

参考资料:

更多推荐