web-dev-qa-db-ja.com

OS X-anacondaとhomebrewの決定Python環境

私はPython Mac OS Xでは、数値アプリケーションとWeb開発の両方に(ほぼ等しく)を使用します。Python最近私のラップトップ、そしてfourを見つけるためにショックを受けました

Came with Mac OS X:
/usr/bin/python
Python 2.7.6 (default, Sep  9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin

Installed via Homebrew
/usr/local/bin/python
Python 2.7.10 (default, Jul 13 2015, 12:05:58)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin

Installed via Anaconda/Miniconda
~/anaconda/bin/python
Python 2.7.10 |Anaconda 2.3.0 (x86_64)| (default, Oct 19 2015, 18:31:17)
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org

Came with the downloaded .pkg from python.org
/System/Library/Frameworks/Python.framework/Versions/Current/bin/python
Python 2.7.6 (default, Sep  9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin

これらすべてを統合し、condaを使用することにしました。 HomebrewバージョンとPython.orgのダウンロードを削除しました(メインシステムのバージョンは保持しました)。 Condaは数値計算に最適です。Jupyter/ Numpy/Pandasをルート環境にインストールでき、すべてのプロジェクトにvirtualenvsをインストールする必要がないためです。

しかし、今では私のWeb開発ワークフロー全体が台無しになっています。明らかに、condaとvirtualenvを一緒に使用することは想定されていないため、私のvirtualenvはどれも動作しません。 requirements.txtファイルからconda環境を作成しようとしました。 Djangoで使用していたパッケージの1つは、「markdown_deux」でした。Condaリポジトリでは使用できません。作成方法を検討しましたが、レシピの作成には多大な労力が必要です(YAMLの作成ファイルなど)

誰かがこれに対して良い妥協を見つけましたか?私は一般的な使用のためにhomebrewバージョンに戻り、必要に応じてcondaバージョンにパスを戻すためのエイリアスを書くことを考えています。これには、現在使用しているものの追跡も必要になります。

24
user1496984

Homebrew Pythonすべてのプロジェクト(データサイエンス、一部のWeb開発)に使用します。

Condaは空想的なものではありません。pipHomebrew science を組み合わせて同じパッケージを手で持つことができます。実際、インストールするものをより詳細に制御できるため、さらに優れています。

Virtualenvは、Web開発を行うときにのみ使用できます。数値アプリケーションの場合は、常に最新バージョンのパッケージが必要になります。

Pipを使用してすべてのパッケージを一度に更新する場合は、次のコマンドを使用できます。

Sudo -H pip freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 Sudo -H pip install -U
22
Kikohs

私が一番見つけたワークフロー:

  • 仮想環境管理にはcondaを使用します。 Neverシステムpythonを使用/インストールします。

  • 通常のように、pipを使用してアクティブな仮想環境にインストールします。

  • Qtなどのインストールが難しいソフトウェアには、condaパッケージonlyを使用します。

オートメーション/エクストラ

  • autoenvまたはdirenvを使用し、.envまたは.envsrcファイル内にcondaコマンドを入力してディレクトリに入ると、仮想環境が自動的にアクティブになります。
3
Rebs