当我这样做时,我无法正确导入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'
我已经尝试重新安装或更新它,但不会改变。我需要帮助=)
有关更多详细信息,请参阅the github report。
事实证明,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()
它应具有基础库的路径,但应避免安装其他软件包的路径。您有一个干净的环境来安装它们。然后,在您应该能够通过更改的shell提示符检测到的virtualenv中,您可以从之前执行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