web-dev-qa-db-ja.com

python 3.5 statsmodels ImportErrorで:名前 '_representation'をインポートできません

私がこのエラーを持っているとき、私はstatsmodels.apiを正しくインポートすることができません:

ファイル「/home/mlv/.local/lib/python3.5/site-packages/statsmodels/tsa/statespace/tools.py」、59行目、set_modeからimport(_representation、_kalman_filter、_kalman_smoother、ImportError:名前 '_representation'をインポートできません

私はすでにそれを再インストールまたは更新しようとしていますが、それは変わりません。助けてください=)

7
Jérémy

詳細については githubレポート をご覧ください。

Statsmodelsは、その前にインストールされているいくつかのパッケージに依存しているため、独自のモジュールをコンパイルするためにそれらをキー入力できることがわかりました。依存関係、またはパッケージのセットアップでそれらが指定されていない理由を完全には理解していませんが、これで問題は解決します。

すでに持っているものをきれいにする必要がある場合は、次の方法でアンインストールできます。

pip3 uninstall statsmodels

依存関係があることを確認してください

pip3 install numpy scipy patsy pandas

次に、これら4つが最初にインストールされた後にのみ:

pip3 install statsmodels

次に、インポートとコードを進めます。

====さらに/交互に=====

ほとんどの場合、 virtualenv を使用することをお勧めします。また、独自のライブラリを制御できる独自の環境を作成できます。必要なものをすべて作成し、各プロジェクトに好きな名前を付けることができます。システムレベルとユーザーレベルでインストールされているpythonモジュールを組み合わせて使用​​している可能性があります。システムパッケージが更新されると、モジュールが変更される可能性があります。 statsmodelsの新しいユーザーバージョンと競合するscipyのシステムバージョンがあります。python 3.5の場合、venvをインストールする必要がありますが、3.6ではディストリビューションの一部になります。

最初に、python3を実行したときからのシステムパスを確認します。

python3
>>> import sys
>>> print(sys.path)
>>> quit()

次に、クリーンで独立した環境を作成し、同じことを行います。

Sudo apt install python3-venv
python3 -m venv ~/name_me
source ~/name_me/bin/activate
python3
>>> import sys
>>> print(sys.path)
>>> quit()

基本ライブラリへのパスが必要ですが、インストールされている追加パッケージへのパスは避けてください。それらをインストールするクリーンな環境があります。次に、変更されたシェルプロンプトで検出できるはずのこのvirtualenvから、以前からpipインストールを実行し、それらが機能するかどうかを確認できます。

pip install numpy scipy patsy pandas
pip install statsmodels
python
>>> import statsmodels.api as sm

そして、完了したら、virtualenvを終了できます

deactivate
10
mightypile

この問題は、statsmodelsのgihubリポジトリバージョンをインストールすることで解決しました。

pip3 install git+https://github.com/statsmodels/statsmodels.git
2
Shinto Joseph

Anacondaを使用して単純にパッケージを再度インストールできます

conda install statsmodels

調整が必要なパッケージがある場合は、自動的にプロンプ​​トが表示されます(以下を参照)。この方法で問題を解決できました。

Updating Package

0
Nikhil Gupta