我已经搜索了堆栈溢出,但没有帖子专门帮助Anaconda.
我正在尝试使用Python自己的命令行提示符.但要做到这一点,我需要激活我的Anaconda环境.我无法在网络上的任何地方找到如何运行基本的python脚本,以便能够激活所述环境.有谁知道怎么做?
以下内容将在使用子进程模块的Python 3.5中工作:
subprocess.run('source activate environment-name && "enter command here" && source deactivate', shell=True)
Run Code Online (Sandbox Code Playgroud)
用要运行的命令替换“在此处输入命令”。您不需要在命令末尾使用“源停用”功能,但是为了安全起见,将其包括在内。
这将在子流程调用期间暂时激活Anaconda环境,之后该环境将恢复为原始环境。这对于在临时环境中运行所需的任何命令很有用。
在这里我发现这段代码对我有用(Ubuntu)
import os
os.system("conda run -n <env_name> python <file_name>.py")
Run Code Online (Sandbox Code Playgroud)
或者您也可以使用子流程
import subprocess
subprocess.run('conda run -n <env_name> python <file_name>.py', shell=True)
Run Code Online (Sandbox Code Playgroud)
jsb*_*jsb -6
您应该能够使用命令行通过键入以下内容来激活特定环境:
activate environment-name
Run Code Online (Sandbox Code Playgroud)
您必须在 Linux 上使用源代码。
source activate environment-name
Run Code Online (Sandbox Code Playgroud)
http://conda.pydata.org/docs/using/envs.html#change-environments-activate-deactivate
编辑(2016 年 3 月 29 日)
抱歉,我看错问题了。您应该能够使用subprocess 模块中的 call 方法通过 Python 脚本运行 shell 命令。
编辑:子流程的基本示例:
subprocess.call(["activate", value])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9644 次 |
| 最近记录: |