仅使用虚拟环境文件夹运行python脚本

仅使用虚拟环境文件夹运行python脚本,python,virtualenv,pipenv,pyenv,python-venv,Python,Virtualenv,Pipenv,Pyenv,Python Venv,让我们留下来我使用pipenv创建一个虚拟环境。在设置时,在PIP文件中指定python版本,并在项目中设置环境变量PIPENV\u VENV\u,以便在项目文件夹中创建.VENV文件夹 在.venv文件夹中,我发现它包含了我在PIP文件中指定的所有包,甚至还有我指定版本的python可执行文件 如果我将脚本和这个.venv文件夹复制到另一台没有安装Python的机器上,如何仅使用.venv文件夹运行脚本?其中有一个Python可执行文件,但我正在尝试找出如何正确获取所有lib文件夹 这可能吗?

让我们留下来我使用
pipenv
创建一个虚拟环境。在设置时,在PIP文件中指定python版本,并在项目中设置环境变量
PIPENV\u VENV\u,以便在项目文件夹中创建
.VENV
文件夹

.venv
文件夹中,我发现它包含了我在PIP文件中指定的所有包,甚至还有我指定版本的python可执行文件

如果我将脚本和这个
.venv
文件夹复制到另一台没有安装Python的机器上,如何仅使用
.venv
文件夹运行脚本?其中有一个Python可执行文件,但我正在尝试找出如何正确获取所有lib文件夹


这可能吗?我知道存在替代方法(例如),但我想知道是否只使用virtual environment文件夹。

这不是Python VirtualEnvironment的目的。移动脚本时,必须重新生成virtualenv。virtualenv在每台机器上都可能不同,具体取决于操作系统等。 因为存在Requerients.txt,所以virtualenv的目录总是出现在.gitignore文件中。 但是,生成virtualenv后,必须使用位于virtualenv目录中的python可执行文件,如下所示(假设您使用的是unix):

或者,使用激活脚本:

venv/bin/activate
python script.py

这不是pythonvirtualenv的目的。移动脚本时,必须重新生成virtualenv。virtualenv在每台机器上都可能不同,具体取决于操作系统等。 因为存在Requerients.txt,所以virtualenv的目录总是出现在.gitignore文件中。 但是,生成virtualenv后,必须使用位于virtualenv目录中的python可执行文件,如下所示(假设您使用的是unix):

或者,使用激活脚本:

venv/bin/activate
python script.py

是的,我知道这是使用virtualenv的通用工作流。然而,我希望有人能有办法利用这样一个事实:pipenv在
锁定环境方面做得相当好。我认为
.venv
文件夹使这个锁定的环境也可移植(无论如何,在普通机器中)。我不这么认为,因为virtualenv本身并不提供python解释器。它允许您在已经有python解释器的机器中创建隔离环境。是的,我知道这是使用virtualenv的通用工作流。然而,我希望有人能有办法利用这样一个事实:pipenv在
锁定环境方面做得相当好。我认为
.venv
文件夹使这个锁定的环境也可移植(无论如何,在普通机器中)。我不这么认为,因为virtualenv本身并不提供python解释器。它允许您在已经有python解释器的机器中创建隔离环境。@phd的可能重复我认为它不是重复的-尽管最终目标是相同的,但我想问的是,是否真的可以单独使用虚拟环境(我假设虚拟环境拥有一切)进行分发。可能重复@phd我认为这不是重复——虽然最终目标是相同的,但我想问的是,是否真的可以单独使用虚拟环境进行分发(我假设虚拟环境拥有一切)。