我正在分发一个内部python库,我希望在其中使其成为这样:如果用户在运行此文件时使用anaconda,则将自动更新库的依赖项。(这是应要求提供的。如果由我决定,我会让用户控制自己的软件包。)
到目前为止,我想出了一些def _user_has_conda():
cmd = 'conda --help'
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
if len(out) > 0 and len(err) == 0:
return True
else:
return False
但这实际上只告诉我用户是否在他们的系统上安装了anaconda,而不是当前的python进程是否在anaconda环境中运行。
我注意到的是,当我启动一个python或ipython shell时,我在顶部看到“python 3.3.3 | Continuum Analytics,Inc |”。我的下一个想法是尝试找到如何获取这个字符串,看看是否有“连续分析”,如果有,假设用户正在水蟒中运行。
我肯定有更好的主意,这就是我来这里的原因。
谢谢你。