当我这样做时,我无法正确导入 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 许可协议
有关更多详细信息,请参阅 github 报告。
事实证明,statsmodels 依赖于在它之前安装的几个包,以便它可以在它们上键入以编译它自己的模块。我不完全理解依赖关系,或者为什么没有在包的设置中指定它们,但这解决了我的问题。
如果您需要清理已有的内容,可以使用以下命令进行卸载:
然后确保你的依赖关系在那里
然后,只有先安装这四个之后:
然后继续您的导入和代码。
====另外/交替=====
大多数情况下推荐使用 virtualenv 。它还将允许您创建自己的环境,您可以在其中控制自己的库。您可以创建您想要的所有内容,并为每个项目命名它们。您现在很可能正在使用在系统级别和用户级别安装的 python 模块的混合,并且当系统包更新时,它们可能会从您下面改变。您的 scipy 系统版本可能与较新的用户版本的 statsmodels 冲突。对于 python 3.5,你必须安装 venv;但是对于 3.6,它成为了发行版的一部分。
首先,查看您刚运行 python3 时的系统路径。
然后创建一个干净、独立的环境并执行相同的操作。
它应该有基本库的路径,但要避免安装附加包的路径。你有一个干净的环境来安装它们。然后,从这个 virtualenv 中,您应该能够通过更改的 shell 提示检测到它,您可以从之前进行 pip 安装,看看它们是否有效。
当你完成后,你可以退出 virtualenv