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



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

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

我已将环境复制到我的客户端计算机,该客户端计算机使用 RedHat 并且无法访问互联网。

使用源代码my_project/bin/activate激活它后,环境似乎不起作用 - 使用的python是标准系统,库不起作用。

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

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

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

  1. 在互联网机器上使用目标系统创建一个虚拟盒子
  2. 使用 pip download 下载车轮文件
  3. 迁移到目标计算机
  4. 使用pip install --no-index --find-links pip_libs/ requests安装

尝试激活它时显示什么错误, 确保 python 版本和环境 PATH 与之前系统上的版本一致。

最新更新