在没有不同系统的互联网机器上部署 Python virtualenv

Deploy Python virtualenv on no internet machine with different system

我需要将 python 应用程序部署到没有互联网的服务器上。

我在我的主机上创建了一个使用 Ubuntu 的虚拟环境。这包含 python 带有各种非标准库的脚本。我使用选项 --relocatable 使链接成为相对链接。

我已将环境复制到我使用 RedHat 且无法访问 Internet 的客户端机器上。

使用源 my_project/bin/activate 激活它后,环境似乎无法正常工作 - 使用的 python 是标准系统一,库无法正常工作。

如何将虚拟环境部署到不同的服务器上?

编辑: 这通常是通过创建 requirement.txt 文件然后使用 pip 在目标机器上安装库来完成的,但是在这种情况下它不是可能,因为机器处于离线状态。

激活时提示什么错误,确保python版本和环境PATH与之前系统一致。

对于处理相同问题的任何人: 对我来说最快的方法是:

  1. 在互联网机器上用目标系统创建一个VirtualBox
  2. 使用 pip download
  3. 下载 wheel 文件
  4. 迁移到目标机器
  5. 安装 pip install --no-index --find-links pip_libs/ requests