2017-04-02 14 views
2

condaの環境にインストールされているPythonのバージョンを知ることはできますが、その環境を有効にしたくないのは、どのようにして知ることができますか?別のconda envにインストールされているPythonのバージョン

背景:私はUbuntu 14.04マシンにpython3.6を取得するために怠惰な方法を選択し、condaをインストールしました。しかし、私は環境がpython2.xまたはpython3.xを持っているかどうかに応じて、私のPYTHONPATHに特定のディレクトリを追加したいと私はcondaさんactivateそうのようなラップすることによってこれを行うことを計画:

PYMAJOR=$(a_miracle_occurs $CONDAENV) 
BASHRC=$(cat <<EOF 
source ~/.bashrc 
source activate $CONDAENV 
export PATH=... 
export PYTHONPATH=".../modules$PYMAJOR" 
" 
EOF 
) 
bash --rcfile <(echo "${BASHRC}") 

私はサブバージョンとの互換性の問題を持っていませんpythonと私はのモジュールをsetup.py developにしたくないのですが、まだ構造レベルで変更が多すぎるためです。

備考:私はconda list -n ENVNAMEを認識していますが、これは人間が判読できる出力を解析することになり、機械で読み取り可能な形式で情報を取得する方が良いと感じます。

答えて

2

私はあまりアナコンダに精通しておらず、その後のすべてが野生のものです。 anacondaが内部でvirtualenvを使用する場合、virtualenvはいくつかのディレクトリにインストールする必要があります($ANACONDA_HOME/envs/$CONDAENVのようなものでしょうか?)。

この場合、Pythonバージョンは$ANACONDA_HOME/envs/$CONDAENV/bin/python --versionを実行するだけで取得できます。アドレスオプスへ

EDITはコメント:

唯一のバージョン文字列トライを返すために:プリント--version`

$ANACONDA_HOME/envs/$CONDAENV/bin/python -c 'import platform; print(platform.python_version())' 
>>> 3.6.0 
+1

'$〜/ miniconda2/ENVS/$ CONDAENV/binに/ pythonの' Python 3.6.1 :: Continuum Analytics、Inc.'にはまだ構文解析が必要ですが、ミニインラインスクリプトに '-c '...'を付け加えることができます。' 'stdout.write''は' sys.version_info.major '。素晴らしい推測:) – flaschbier

関連する問題