我有一个python环境(可以是conda、virtualenv、venv或global python) -我有一个python脚本- hello.py -我想在那个环境中执行。
如果我在环境中获得python二进制文件的路径,例如,在windows中具有名为myenv、/path/to/myenv/Scripts/python.exe的conda环境,并且如果我使用该python执行脚本,如下所示,我是否可以保证脚本在该环境中执行,独立于虚拟环境的类型?如果没有,我可以做些什么来确保这样的保证?
/path/to/myenv/Scripts/python.exe path/to/hello.py
发布于 2019-02-05 06:29:38
是的,你是对的!此外,您可以使用以下代码片段评估使用的可执行文件:
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发布于 2019-02-05 08:29:08
我想不会。有一些环境变量(例如PATH)会在您激活virtualenv时发生更改。您可以在文本编辑器中打开myenv/bin/activate来查看它的功能。
你想直接调用可执行文件,而不是使用设计的环境,有什么特别的原因吗?(例如. ./myenv/bin/activate; python hello.py)
https://stackoverflow.com/questions/54525141
复制相似问题