2012-08-31 10 views
8

私はEPD 7.3.1をインストールしました(最近はEnthought Canopyと呼ばれています)。これはscikit-learn v 0.11に付属しています。私はUbuntu 12.04を実行しています。 v 0.12のscikit-learnをインストールする必要があります。Enthought Canopyディストリビューションに含まれるscikit-learnのアップグレードバージョン

doc saysクローンリポジトリをscikit-学ぶあなたのPYTHONPATHにscikit-学ぶディレクトリを追加し、所定の位置に拡張モジュールをビルド:python setup.py build_ext --inplace

問題は、EPDは、独自の閉じられた世界であるということである(mulitple scikitのdirsに):
./lib/python2.7/site-packages/scikits/
./lib/python2.7/site-packages/sklearn

そしてあります:
./EGG-INFO/scikit_learn/

私は実際には、この時点までに物事を調整するのに非常に長い時間がかかっているので、実験したくありません。この場合、scikit-learnの指示に従うべきですか?

答えて

12

EPDのscikit-learnバージョンとは関係なく、scikit-learnウェブサイトで説明されている動作は機能します。 PythonはPYTHONPATHenvironment variableに設定されているscikit-learnバージョンを自動的に使用します。これはscitit-learnのGitバージョンのディレクトリパスに設定する必要があります。

あなたはUnixライクなシステムでバッシュを使用する場合は、次の手順を実行する必要があります

  • 編集.bashrc
  • (この例では、私は/home/yourname/bin/scikit-learnにそれをクローン化された)install scikit-learn's latest codeにアクションを実行し、追加しますライン:export PYTHONPATH="/home/yourname/bin/scikit-learn";
  • 開き、新しいターミナルと入力して、対話モードでのPythonを開始python
    • 種類:import sklearn
    • タイプ:sklearn.__verion__これは今、なぜこの仕事をする代わりに0.11

'0.12-git'を示すべき? Pythonは変数sys.path(パスのlist)を内部的に使用して、モジュールとパッケージを探すべきすべてのディレクトリを追跡します。モジュールまたはパッケージが要求されると、Pythonは一致するものが見つかるまでこのリストを順番に調べます。たとえば、モジュールはsys.pathに複数回リストできますが、リストに最初に現れたバージョンのみが使用されます。

すべてのPythonインストールには、sys.pathにリストされた独自のデフォルトパスセットがあります。 sys.pathを拡張する1つの方法は、パスをPYTHONPATHにリストすることです。 Pythonが起動すると、この環境変数が読み込まれ、sys.pathリストの先頭に追加されます。したがって、あなたが別のバージョンのscikit-learnにあなたのPYTHONPATHを追加すると、(EPDの)Pythonは最初にscikit-learnのバージョンを見つけ出し、sys.pathにさらにリストされているバージョンの代わりに使用します。

sys.pathを表示するには、単にimport sys、次にprint sys.pathと表示します。また、たとえば、1つのPythonプログラムで0.12バージョンのscikit-learnを使用し、0を使用する場合のみです。他のすべてのPythonプログラムでデフォルトとして11のバージョンは、あなたはPYTHONPATH空を残すことができるだけであなたのコードの先頭に手動で0.12をscikit-学ぶためにパスを挿入します。

import sys 
sys.path.insert(0, '/home/yourname/bin/scikit-learn') 
import sklearn 
+1

がスタックオーバーフローで社会が悪い質問にdownvotesを与えます良い質問にアップアップします。私は今のところ質問を残すだろうが、人々がそれをdownvoteし始めるなら、それはあなたがそれを削除したいかもしれないという良い示唆を持っている。 – Sicco

+0

私は同じ問題に遭遇しましたが、私はMacを持っています。私はscikit setup.pyを使わず、macports経由でのみscikitをインストールすることができました。しかし、私はbashrcを見つけることができません。私がしたいことは、EPD(学術)のScikitを0.13にアップデートすることです。それは非常に難しいと証明されています。 – Shinjitsu

+0

@Shinjitsu .bashrcの代わりに.profileを使用してみてください。それが動作するかどうか私に教えてください。 – Sicco

関連する問題