私は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バージョンにパスを戻すためのエイリアスを書くことを考えています。これには、現在使用しているものの追跡も必要になります。
Homebrew Pythonすべてのプロジェクト(データサイエンス、一部のWeb開発)に使用します。
Condaは空想的なものではありません。pip
と Homebrew science を組み合わせて同じパッケージを手で持つことができます。実際、インストールするものをより詳細に制御できるため、さらに優れています。
Virtualenvは、Web開発を行うときにのみ使用できます。数値アプリケーションの場合は、常に最新バージョンのパッケージが必要になります。
Pipを使用してすべてのパッケージを一度に更新する場合は、次のコマンドを使用できます。
Sudo -H pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 Sudo -H pip install -U
私が一番見つけたワークフロー:
仮想環境管理にはconda
を使用します。 Neverシステムpythonを使用/インストールします。
通常のように、pip
を使用してアクティブな仮想環境にインストールします。
Qtなどのインストールが難しいソフトウェアには、conda
パッケージonlyを使用します。
オートメーション/エクストラ
autoenv
またはdirenv
を使用し、.env
または.envsrc
ファイル内にcondaコマンドを入力してディレクトリに入ると、仮想環境が自動的にアクティブになります。