statsmodels中的python 3.5 ImportError:无法导入名称'_representation'

问题描述 投票:5回答:3

当我这样做时,我无法正确导入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'

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

python python-3.x python-3.5 importerror statsmodels
3个回答
8
投票

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

0
投票

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

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

0
投票

您只需使用Anaconda再次安装该软件包即可

conda install statsmodels

如果有需要调整的包,则会自动提示您(见下文)。我能够以这种方式解决问题。

Updating Package

© www.soinside.com 2019 - 2024. All rights reserved.