首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在给定的conda环境中执行python脚本的最佳方法

在给定的conda环境中执行python脚本的最佳方法
EN

Stack Overflow用户
提问于 2017-02-03 13:12:46
回答 3查看 42K关注 0票数 25

我希望使用子流程包从另一个python脚本executed.py执行python脚本trigger.py。必须在与executed_envtrigger_env).不同的conda环境中运行executed.py。做这件事的最好方法是什么?我当前的trigger.py代码是:

代码语言:javascript
运行
复制
command = "python executed.py --option1 -dir /path/to/dir"
args = shlex.split(command)
my_subprocess = subprocess.Popen(args)

它返回一个错误,因为trigger_env环境中运行executed.py

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-07 04:21:33

我对任何conda内置的方法做了一些研究,发现如下。第一个是解决方案,第二个是最终解决方案内置解决方案(在撰写本文时不可用)。

  1. conda-wrappers.Guilherme为conda环境中的python可执行文件创建了一个包装器。如果将其设置为IDE中的python解释器(例如PyCharm ),它将激活调用它的conda环境,然后调用python解释器。请参阅“创建conda”一节:https://pypi.org/project/exec-wrappers/
  2. conda运行。在在环境中执行命令的一种标准而快速的方法上对conda页面进行了长时间的讨论后,实现了一个新命令(实际上是以前可用的重新调用):conda run

它是用第7320期描述的,希望能在2018年10月在conda-4.6上发布!

票数 18
EN

Stack Overflow用户

发布于 2017-02-03 20:46:39

如果您只需要使用另一个python,那么我相信您只需要使用command中其他python的完整路径。

尝试进入您的executed_env (即source activate executed_env,如果Linux)并执行which python。让我们假设现在返回HOME/.conda/envs/executed_env/bin/python,这将成为您在命令中使用的python --即command = "HOME/.conda/envs/executed_env/bin/python executed.py --option1 -dir /path/to/dir"。这

例如,让我们在不同的python版本中运行executed.py

  • 创建您的py27环境conda create -n py27 python=2.7 --这是trigger_env
  • 创建您的py35环境conda create -n py35 python=3.5 --这是executed_env
  • 通过运行py35并运行source activate py35,获取完整的python路径,然后运行which python (让我们调用EXECUTED_PYTHON作为这个描述)。通过source deactivate停用。
  • 然后我们创建executed.py 导入系统打印(sys.version)
  • 然后trigger.py (包括参数,但他们什么也不做) 命令= "EXECUTED_PYTHON executed.py --选项1 -dir /path/to/dir“args =shlex.split(命令) my_subprocess = subprocess.Popen(args)
  • 现在让我们在trigger_env中运行它-- source activate py27python trigger.py
  • 这打印3.5.2 |Continuum Analytics, Inc. [...] (3.5是重要的部分)。您可以看到它正在使用executed_env中的其他python。
票数 3
EN

Stack Overflow用户

发布于 2021-01-03 06:06:29

在windows环境中使用conda,我只是复制了conda用于启动不同环境的不同jupyter笔记本的方式。使用"C:\ProgramData\Anaconda3\cwp.py“调用"C:\ProgramData\Anaconda3\python.exe”脚本的所有快捷方式,然后使用附加参数,您可以选择要执行的环境和文件。

在我的例子中,环境名称= AutomateXXReporting,要执行的文件=AutomateXXReporting

代码语言:javascript
运行
复制
C:\ProgramData\Anaconda3\python.exe C:\ProgramData\Anaconda3\cwp.py C:\Users\ismael.serrano\.conda\envs\AutomateXXReporting C:\Users\ismael.serrano\.conda\envs\AutomateXXReporting\python.exe C:\Users\ismael.serrano\Documents\GIT\xxx\notebooks\exports\get_JIRA_user_streams.py

在此之前,我曾如保罗所指出的那样成功地进行了工作,但遇到了一个不足以解决问题的问题。来自完整路径的python无法使用它工作的cwp.py找到一些库。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42025173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档