このファイルを実行するときにユーザーがアナコンダを使用している場合、ライブラリの依存関係の更新が自動的に行われるようにしたい社内の python lib を配布しています。(これはリクエストによるものです。私次第であれば、ユーザーが自分のパッケージを制御できるようにします。)
これまでのところ、私は次のようなものを思いつきました
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 シェルを起動すると、「Python 3.3.3 |Continuum Analytics, Inc|」と表示されることです。頂点で。私の次のアイデアは、この文字列を取得して「Continuum Analytics」が存在するかどうかを確認する方法を見つけようとすることです。存在する場合は、ユーザーがアナコンダで実行されていると想定します。
もっと良いアイデアがあると確信しています。それが私がここにいる理由です。
ありがとうございました。