python 3.5 в statsmodels ImportError: невозможно импортировать имя '_representation' - PullRequest
0 голосов
/ 17 мая 2018

Мне не удается правильно импортировать 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'

Я уже пытаюсь переустановить или обновить его, это не меняет. пожалуйста, мне нужна помощь =)

Ответы [ 3 ]

0 голосов
/ 07 марта 2019

Для меня проблема была решена путем установки версии statsmodels для репозитория gihub,

pip3 install git+https://github.com/statsmodels/statsmodels.git
0 голосов
/ 30 апреля 2019

Вы можете просто установить пакет заново, используя Anaconda

conda install statsmodels

Если есть пакеты, которые необходимо настроить, они будут вам предложены автоматически (см. Ниже).Я смог решить проблему следующим образом.

Updating Package

0 голосов
/ 18 мая 2018

Пожалуйста, смотрите отчет 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, который вы сможете обнаружить по измененному приглашению оболочки, вы можете выполнить установки pip и посмотреть, работают ли они.

pip install numpy scipy patsy pandas
pip install statsmodels
python
>>> import statsmodels.api as sm

И когда вы закончите, вы можете выйти из virtualenv

deactivate
...