如何使用python二进制路径在虚拟环境中执行python脚本?

时间:2019-02-04 22:16:25

标签: python virtualenv conda python-venv

我有一个python环境(可以是conda,virtualenv,venv或全局python)-我有一个python脚本-hello.py-我想在该环境中执行。

如果我在环境中(例如,在具有名为myenv /path/to/myenv/Scripts/python.exe的conda环境的Windows中获得python二进制文件的路径,并且如果我使用该python执行脚本,如下所示),是否确保脚本在该环境中执行,而与虚拟环境的类型无关?如果没有,我该怎么做才能确保这种保证?

/path/to/myenv/Scripts/python.exe path/to/hello.py

2 个答案:

答案 0 :(得分:0)

是的,您是对的!此外,您可以使用以下代码段评估使用的可执行文件:

import sys

print(sys.executable)

然后您将看到绝对路径,例如/opt/miniconda/envs/epm/bin/python

如果您使用的是Unix系统,则可以运行:

$ echo "import sys; print(sys.version); print(sys.executable)" | /opt/miniconda/envs/epm/bin/python
2.7.15 |Anaconda, Inc.| (default, Dec 14 2018, 13:10:39)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]
/opt/miniconda/envs/epm/bin/python

答案 1 :(得分:0)

我怀疑不是。激活virtualenv时会更改一些环境变量(例如PATH)。您可以在文本编辑器中打开myenv/bin/activate来查看其功能。

是否有特定原因想要直接调用可执行文件,而不是按设计使用环境? (例如. ./myenv/bin/activate; python hello.py