web-dev-qa-db-fra.com

python 3,5 dans les modèles de statistiques ImportError: impossible d'importer le nom '_representation'

Je n'arrive pas à importer correctement statsmodels.api lorsque je fais cela, j'ai cette erreur:

Fichier "/home/mlv/.local/lib/python3.5/site-packages/statsmodels/tsa/statespace/tools.py", ligne 59, dans set_mode de. import (_representation, _kalman_filter, _kalman_smoother, ImportError: impossible d'importer le nom '_representation'

J'essaie déjà de le réinstaller ou de le mettre à jour, cela ne change pas. plese j'ai besoin d'aide =)

7
Jérémy

Veuillez consulter le rapport github pour plus de détails.

Il s'avère que les modèles de statistiques dépendent de plusieurs packages installés avant lui afin qu'il puisse les utiliser pour compiler ses propres modules. Je ne comprends pas complètement les dépendances, ni pourquoi elles ne sont pas spécifiées dans la configuration du package, mais cela résout le problème pour moi.

Si vous devez nettoyer ce que vous avez déjà, vous pouvez le désinstaller avec les éléments suivants:

pip3 uninstall statsmodels

alors assurez-vous que vos dépendances sont là

pip3 install numpy scipy patsy pandas

puis, seulement après l'installation de ces quatre:

pip3 install statsmodels

Passez ensuite à vos importations et à votre code.

==== en plus/alternativement =====

Il est recommandé d'utiliser virtualenv dans la plupart des cas. Cela vous permettrait également de créer vos propres environnements où vous pouvez contrôler vos propres bibliothèques. Vous pouvez créer tout ce que vous voulez et les nommer comme bon vous semble pour chaque projet. Il est probable que vous utilisez maintenant un mélange de modules python installés au niveau du système et au niveau de l'utilisateur, et ils pourraient changer sous vous lorsque les packages du système sont mis à jour. Il est possible que vous avoir une version système de scipy qui entre en conflit avec une nouvelle version utilisateur de statsmodels. Pour python 3.5, vous devez installer venv; mais avec 3.6 il fait partie de la distribution.

Tout d'abord, regardez vos chemins système à partir du moment où vous exécutez simplement python3.

python3
>>> import sys
>>> print(sys.path)
>>> quit()

Et puis créez un environnement propre et indépendant et faites de même.

Sudo apt install python3-venv
python3 -m venv ~/name_me
source ~/name_me/bin/activate
python3
>>> import sys
>>> print(sys.path)
>>> quit()

Il doit avoir des chemins d'accès aux bibliothèques de base, mais éviter les chemins d'accès aux packages supplémentaires installés. Vous disposez d'un environnement propre pour les installer. Ensuite, à partir de ce virtualenv, que vous devriez être en mesure de détecter par votre invite Shell modifiée, vous pouvez effectuer les installations pip d'avant et voir si elles fonctionnent.

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

Et lorsque vous avez terminé, vous pouvez quitter le virtualenv

deactivate
10
mightypile

Le problème a été résolu pour moi en installant la version du référentiel gihub des modèles de statistiques,

pip3 install git+https://github.com/statsmodels/statsmodels.git
2
Shinto Joseph

Vous pouvez simplement réinstaller le package à l'aide d'Anaconda

conda install statsmodels

S'il y a des paquets qui doivent être ajustés, ils vous seront automatiquement demandés (voir ci-dessous). J'ai pu résoudre le problème de cette façon.

Updating Package

0
Nikhil Gupta