statsmodels 中的 python 3.5 导入错误:无法导入名称'_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’

我已经尝试重新安装或更新它,但没有改变。请我需要帮助 =)

原文由 Jérémy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 522
2 个回答

有关更多详细信息,请参阅 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

原文由 mightypile 发布,翻译遵循 CC BY-SA 4.0 许可协议

通过安装 statsmodels 的 gihub 存储库版本为我解决了这个问题,

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

原文由 Shinto Joseph 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题