![](/img/trans.png)
[英]ImportError: cannot import name 'nsprefixes' Python 3.5
[英]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
當我遇到此錯誤時,我無法正確導入 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.