web-dev-qa-db-ja.com

Anaconda対EPD Enthought対Pythonの手動インストール

さまざまなPythonバンドル(EPD/Anaconda)と手動インストールの相対的なメリット/デメリットは何ですか?

EPDアカデミックをインストールしましたが、問題はありません。それは私がこれまで必要だと思うより多くのパッケージを提供し、enpkg enstallerを使用して更新することは非常に簡単です。ただし、EPDアカデミックライセンスは毎年更新する必要があり、無料版では簡単に更新できません。

現時点では、 PandasNumPySciPymatplotlib 、-などの少数のパッケージのみを使用しています IPythonStatsmodels およびそれぞれの依存関係。

そのような限られた使用のために、手動インストールとpip install --upgrade 'package'を使用する方が良いでしょうか、それともバンドルはこれ以上のものを提供しますか?

110
John

私は昨年、さまざまなWindowsディストリビューションを試し、仕事環境に適したものを見つけようとしました(プロキシの背後にあるが、プロキシ構成にアクセスできない)。

経験からの私のフィードバックは次のとおりです。

EPD/Canopy:私たちはEPDのライセンスを持っていましたが、それは古く、奇妙なプロキシの状況のた​​めに更新できませんでした。一部のパッケージ(最近のバージョン xlrd/xlwt など)を追加するために、ソースからコンパイルしました。 SciPy および NumPy を更新するには、 http://www.lfd.uci.edu/~gohlke/pythonlibs/ からプリコンパイルされたインストーラーを使用しました、ただし互換性が損なわれることがあります。完全に構成された Py2exe および Cython が大好きで、そのまま使用できました。

しばらくして、無料版のCanopyをインストールしようとしましたが、Cythonとpy2exe、および必要な特定の高度なパッケージが不足しているため、実際には使用しませんでした。同僚の何人かが完全なCanopyライセンスを購入しましたが、彼らがどのようにアップデートするのかまだわかりません...

Python(x、y):ライセンスと格闘したくないので、Python(x、y)を自宅にインストールしました。私が今気づいた唯一の欠点は、標準インストールでは、必要なパッケージを選択する必要があることです。これは良い点と悪い点の両方です。なぜなら、クライアントが私がインストールしたときとまったく同じ構成を持っているかどうか確信が持てないからです。 (EnthoughtツールスイートはPython(x、y)にインストールできます。)しばらくPython(x、y)を使用した後、32ビットバージョンをインストールしたことに気付きました。彼らのウェブサイトでは明確ではありませんが、2015年7月の時点では64ビットバージョンを持っていないようです。それをアンインストールして64ビットディストリビューションを入手します。

Anaconda:これを最初に書いたとき、Anacondaにはまだ十分なパッケージがなかったようです。数年後、ずっと良くなったようです。試してみます!

Manual:古いEPDバージョンとのバージョン互換性の問題を回避するために、手動でPythonインストールを行い、追加パッケージを追加しました上記のLFD Webサイトから。それはうまく機能しますが、高度なパッケージ( GDAL または PyFITS など)を必要とする新しいユーザーには、Canopyをお勧めします。

概要:キャノピーに行く場合は、フルライセンス(アカデミックまたは購入済み)を取得してください。それ以外の場合は、Python(x、y)を使用すると、同じ結果になります。

Ubuntuの場合:配布の必要はありません。それはすべて比較的最近で(+/- 6か月は許容範囲です)、プリコンパイルされています。 Sudo apt-get install python python-scipyを実行するだけで、そこにあります!ほとんどの高度なパッケージもあります。

11
PhilMacKay

他の答えは非常にうまく地面をカバーしているので、私は誰もまだ言及していない特定の側面に言及したいだけです。それはおそらくかなりニッチですが、Linuxシステムの一部の人々にとっては、may潜在的にAnacondaまたはCanopyを作成または破損する可能性があります。

Anthonda PythonビルドはUCS4 Unicodeモードを使用しますが、Enthought CanopyはUCS2を使用します。

これが実際に意味することは、何らかの理由でコンパイルできない拡張機能(プリコンパイルされたプロプライエタリライブラリなど)に依存している場合、同じモードのPythonバージョン用にビルドされない場合、遅かれ早かれundefined symbol: PyUnicodeUCS4_AsUTF8Stringのようなエラーに遭遇する可能性があります。

PEP 051 によると、UCS4は現在、より人気があり推奨されているようです。また、全体のUCS互換性の問題は2.xおよび<3.3バージョンのみに影響するようです。

4
Dologan