簡體   English   中英

statsmodels 中的 python 3.5 ImportError:無法導入名稱'_representation'

[英]python 3.5 in statsmodels ImportError: cannot import name '_representation'

當我這樣做時,我無法正確導入 statsmodels.api 我有這個錯誤:

文件“/home/mlv/.local/lib/python3.5/site-packages/statsmodels/tsa/statespace/tools.py”,第 59 行,在 set_mode 中。 導入(_representation,_kalman_filter,_kalman_smoother,ImportError:無法導入名稱'_representation'

我已經嘗試重新安裝或更新它,但沒有改變。 請我需要幫助 =)

有關更多詳細信息,請參閱github 報告

事實證明,statsmodels 依賴於在它之前安裝的幾個包,以便它可以在它們上鍵入以編譯它自己的模塊。 我不完全理解依賴關系,或者為什么沒有在包的設置中指定它們,但這解決了我的問題。

如果您需要清理已有的內容,可以使用以下命令進行卸載:

pip3 uninstall statsmodels

然后確保你的依賴關系在那里

pip3 install numpy scipy patsy pandas

然后,只有先安裝這四個之后:

pip3 install statsmodels

然后繼續您的導入和代碼。

====另外/交替=====

大多數情況下推薦使用virtualenv 它還將允許您創建自己的環境,您可以在其中控制自己的庫。 您可以創建您想要的所有內容,並為每個項目命名它們。 您現在很可能正在使用在系統級別和用戶級別安裝的 python 模塊的混合,並且當系統包更新時,它們可能會從您下面改變。 您的 scipy 系統版本可能與較新的用戶版本的 statsmodels 沖突。 對於 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 中,您應該能夠通過更改的 shell 提示檢測到它,您可以從之前進行 pip 安裝,看看它們是否有效。

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

當你完成后,你可以退出 virtualenv

deactivate

通過安裝 statsmodels 的 gihub 存儲庫版本為我解決了這個問題,

pip3 install git+https://github.com/statsmodels/statsmodels.git

您可以簡單地使用 Anaconda 再次安裝該軟件包

conda install statsmodels

如果有需要調整的包,系統會自動提示您(見下文)。 我能夠通過這種方式解決問題。

更新包

當我遇到此錯誤時,我無法正確導入 statsmodels.api:

文件“/home/mlv/.local/lib/python3.5/site-packages/statsmodels/tsa/statespace/tools.py”,第 59 行,從 . 導入(_representation,_kalman_filter,_kalman_smoother,ImportError:無法導入名稱“_representation”

我已經嘗試重新安裝或更新它,這不會改變。 請我需要幫助 =)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM