在没有不同系统的internet计算机上部署Python virtualenv

在没有不同系统的internet计算机上部署Python virtualenv,python,virtualenv,redhat,Python,Virtualenv,Redhat,我需要将python应用程序部署到一个没有internet的服务器上 我在使用Ubuntu的主机上创建了一个虚拟环境。它包含包含各种非标准库的python脚本。我使用选项--relocate使链接相对 我已通过环境复制到我的客户端计算机,该计算机使用RedHat,无法访问internet 使用sourcemy_project/bin/activate激活后,环境似乎不起作用-使用的python是标准system one,库不起作用 如何在不同的服务器上部署虚拟环境 编辑:这通常是通过创建requ

我需要将python应用程序部署到一个没有internet的服务器上

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

我已通过环境复制到我的客户端计算机,该计算机使用RedHat,无法访问internet

使用source
my_project/bin/activate
激活后,环境似乎不起作用-使用的python是标准system one,库不起作用

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


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

当您尝试激活它时,会显示什么错误,确保python版本和环境路径与以前系统上的一致。

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

  • 在internet计算机上使用目标系统创建VirtualBox
  • 使用
    pip下载
  • 迁移到目标计算机
  • 使用
    pip安装进行安装--无索引--查找链接pip\u libs/requests

  • 您如何调用/调用主脚本?在使用
    source my_project/bin/activate
    激活env之后,
    python main.py
    您是否考虑过为这些类型的应用程序使用Docker?嗯,您能发布错误吗?它可能是新系统中未包含的系统依赖项(类似于在AWS lambda环境中部署某些python代码时必须包含
    文件的方式)。错误为
    ImportError:没有名为“requests”的模块。
    。这似乎是因为virtualenv无法识别python及其包含的库。我已经考虑过使用Docker来部署环境,但是我正在寻找一个非商业解决方案。激活时没有错误-我可以访问env ok。使用
    python main.py
    运行脚本后,我得到了
    ImportError:没有名为
    的模块。同时检查
    python--version
    显示系统的python路径,而不是运行
    pip freeze
    的virtualnvtry,以查看安装的模块
    pip freeze
    显示我的系统库,而不是我在virtualenv中包含的那些,虚拟env被激活了它不应该这样做是的,在与python脚本相同的文件夹中获得了
    requirements.txt
    。尽管我在bash前面得到了(envName),但激活看起来并没有起作用