在没有不同系统的internet计算机上部署Python virtualenv
我需要将python应用程序部署到一个没有internet的服务器上 我在使用Ubuntu的主机上创建了一个虚拟环境。它包含包含各种非标准库的python脚本。我使用选项在没有不同系统的internet计算机上部署Python virtualenv,python,virtualenv,redhat,Python,Virtualenv,Redhat,我需要将python应用程序部署到一个没有internet的服务器上 我在使用Ubuntu的主机上创建了一个虚拟环境。它包含包含各种非标准库的python脚本。我使用选项--relocate使链接相对 我已通过环境复制到我的客户端计算机,该计算机使用RedHat,无法访问internet 使用sourcemy_project/bin/activate激活后,环境似乎不起作用-使用的python是标准system one,库不起作用 如何在不同的服务器上部署虚拟环境 编辑:这通常是通过创建requ
--relocate
使链接相对
我已通过环境复制到我的客户端计算机,该计算机使用RedHat,无法访问internet
使用sourcemy_project/bin/activate
激活后,环境似乎不起作用-使用的python是标准system one,库不起作用
如何在不同的服务器上部署虚拟环境
编辑:这通常是通过创建
requirement.txt
文件,然后使用pip在目标机器上安装库来完成的,但是在这种情况下,这是不可能的,因为机器处于脱机状态。当您尝试激活它时,会显示什么错误,确保python版本和环境路径与以前系统上的一致。对于处理相同问题的任何人:
对我来说,最快的方法是:
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),但激活看起来并没有起作用