运行 python virtualenv 中的命令

Running commands within virtualenv in python

我正尝试在 python 2 virtualenv 下 运行 一个 python 脚本。如何通过批处理脚本/python脚本运行它?

我已经安装了 python2 和 python3 并且也创建了虚拟环境。我尝试通过 python 脚本调用它,但它甚至没有进入 virtualenv。然后我尝试了下面的批处理脚本。但它只是执行了第一行代码。即只是激活虚拟环境。但其他行没有被执行。

我什至尝试在 bat 文件中单独执行第一行批处理脚本,然后使用 perl/python 调用其他脚本。但其中 none 有效。

请提供一种使用 python 脚本或 一个批处理文件,我需要通过 perl/python

运行 它

我使用的批处理文件:

C:\venv-2\Scripts\activate
pushd <some path>
python test.py
deactivate

直接使用virtualenv的Python解释器即可:

pushd some_path
c:\venv-2\scripts\python test.py
popd

手边没有 Windows 环境,这不是 *nix 的答案,可能会适应 Windows。

不要直接调用 venv bin,而是尝试在脚本中激活它。例如:

# my-script.sh

# activate 
source venv/bin/activate

# this should be in the venv
which python3
python3 -c 'print("Hello from python3")'

然后 $ bash my-script.sh 应该打印出它认为 python3 在 脚本中使用的那个。

另请参阅 以获得更好的相同想法...

我得到了执行的批处理文件,

C:\venv-2\Scripts\activate & pushd <some path> & python test.py & deactivate

在批处理文件中。并使用 perl 脚本调用批处理文件

system('start test.bat')