我有一个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
答案 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
)