Python 单个可执行文件中的Virtualenv

Python 单个可执行文件中的Virtualenv,python,linux,virtualenv,executable,Python,Linux,Virtualenv,Executable,我目前有一个可执行文件,在zipfile中运行Python代码,如下所示: 这方面的好处是,我发布了一个包含该应用程序的文件。这些问题出现在依赖关系中。我曾尝试在自定义位置使用pip安装文件,当我将它们嵌入到zip中时,总会出现导入问题或最终取决于主机包的问题 然后,我开始研究虚拟环境,作为确保包依赖性的一种方法。然而,目标机器上的典型工作流似乎是源激活脚本并在virtualenv中运行代码。我想做的是创建一个包含Python脚本及其所有依赖项的文件,让用户只执行该文件。考虑到Python解释器

我目前有一个可执行文件,在zipfile中运行Python代码,如下所示:

这方面的好处是,我发布了一个包含该应用程序的文件。这些问题出现在依赖关系中。我曾尝试在自定义位置使用pip安装文件,当我将它们嵌入到zip中时,总会出现导入问题或最终取决于主机包的问题


然后,我开始研究虚拟环境,作为确保包依赖性的一种方法。然而,目标机器上的典型工作流似乎是源激活脚本并在virtualenv中运行代码。我想做的是创建一个包含Python脚本及其所有依赖项的文件,让用户只执行该文件。考虑到Python解释器实际上是与virtualenv打包在一起的,这可能吗?可以从zip文件中调用Python解释器吗?从Python的角度来看,推荐的方法是什么?

您可以创建一个bash脚本来创建虚拟环境并运行Python脚本

!#/bin/bash
virtualenv .venv
.venv/bin/pip install <python packages>
.venv/bin/python script
#/bin/bash
虚拟的
.venv/bin/pip安装
.venv/bin/python脚本