2

問題

仮想環境で scikit-learn を使用しようとしていますが、実行できません。

たとえば、プロジェクト フォルダーに移動して、NumPy、SciPy、および scikit-learn をインストールします。

virtualenv venv source venv/bin/activate pip install numpy pip install scipy pip install scikit-learn

次に、python を開いて、それぞれをインポートしようとします。

import numpy import scipy import sklearn

NumPy と SciPy は正常にインポートされますが、インポートしようとすると というエラーが表示されますLibrary not loaded: @rpath/./libgfortran.3.dylib

インストールに欠けているものはありますか?

完全なエラー メッセージ: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Users/Peter/git/dataSandbox/flaskApps/sfSalary/venv/lib/python2.7/site-packages/sklearn/__init__.py", line 57, in <module> from .base import clone File "/Users/Peter/git/dataSandbox/flaskApps/sfSalary/venv/lib/python2.7/site-packages/sklearn/base.py", line 11, in <module> from .utils.fixes import signature File "/Users/Peter/git/dataSandbox/flaskApps/sfSalary/venv/lib/python2.7/site-packages/sklearn/utils/__init__.py", line 11, in <module> from .validation import (as_float_array, File "/Users/Peter/git/dataSandbox/flaskApps/sfSalary/venv/lib/python2.7/site-packages/sklearn/utils/validation.py", line 16, in <module> from ..utils.fixes import signature File "/Users/Peter/git/dataSandbox/flaskApps/sfSalary/venv/lib/python2.7/site-packages/sklearn/utils/fixes.py", line 324, in <module> from scipy.sparse.linalg import lsqr as sparse_lsqr File "/Users/Peter/git/dataSandbox/flaskApps/sfSalary/venv/lib/python2.7/site-packages/scipy/sparse/linalg/__init__.py", line 109, in <module> from .isolve import * File "/Users/Peter/git/dataSandbox/flaskApps/sfSalary/venv/lib/python2.7/site-packages/scipy/sparse/linalg/isolve/__init__.py", line 6, in <module> from .iterative import * File "/Users/Peter/git/dataSandbox/flaskApps/sfSalary/venv/lib/python2.7/site-packages/scipy/sparse/linalg/isolve/iterative.py", line 7, in <module> from . import _iterative ImportError: dlopen(/Users/Peter/git/dataSandbox/flaskApps/sfSalary/venv/lib/python2.7/site-packages/scipy/sparse/linalg/isolve/_iterative.so, 2): Library not loaded: @rpath/./libgfortran.3.dylib Referenced from: /Users/Peter/git/dataSandbox/flaskApps/sfSalary/venv/lib/python2.7/site-packages/scipy/sparse/linalg/isolve/_iterative.so Reason: image not found

編集: これは、sklearn を使用して Heroku アプリをホストするためのトラブルシューティングでした。

4

1 に答える 1

5

NumPy/SciPy/Scikit-learn およびコンパイル済みコードを含むその他のパッケージに仮想環境を使用しないことを強くお勧めします。仮想環境は、純粋な Python の依存関係をかなりうまく処理しますが、Python の外部に依存するコンパイルされた拡張機能の場合、予期しない方法で失敗する可能性があります (ご覧のとおり)。

コンパイルされた拡張機能を含む異なるバージョンの Python パッケージで複数の環境を管理したい場合、最適なツールはおそらくcondaであり、特にconda environmentsです。

これにより、以下を実行できます。

$ conda create -n myenv python=3.4 numpy scipy scikit-learn
$ source activate myenv
(myenv) $ python
Python 3.4.3
>>> import sklearn

準備は万端です。

于 2015-11-19T20:29:30.063 に答える