102 votes

Avertissement aux utilisateurs : Impossible d'importer le module lzma. Votre Python installé est incomplet

Après avoir installé le module Google Cloud Bigquery, si j'importe le module dans le code python. Je vois ce message d'avertissement. Cela m'arrive dans python 3.7.3 Virtualenv.

J'ai essayé de réinstaller le module bigquery de GCP. Dans le code python, si nous écrivons " from google.cloud import bigquery ", il ne devrait pas y avoir d'erreur ou de message.

import os
import sys
import logging
from datetime import datetime
from google.cloud import bigquery

/home/informatica/.local/lib/python3.7/site-packages/pandas/compat/__init__.py:84: UserWarning: Could not import the lzma module. Your installed Python is incomplete. Attempting to use lzma compression will result in a RuntimeError.
  warnings.warn(msg)
 exit()

0 votes

>>> import os >>> import sys >>> import logging >>> from datetime import datetime >>> from google.cloud import bigquery /home/informatica/.local/lib/python3.7/site-packages/pandas/compat/__init__.py:84 : UserWarning : Impossible d'importer le module lzma. Votre Python installé est incomplet. Toute tentative d'utilisation de la compression lzma entraînera une RuntimeError. warnings.warn(msg) >>> exit()

2 votes

Veuillez ajouter les informations de votre commentaire dans le corps de la question.

0 votes

El Lzma fait partie du module bibliothèque standard python ce qui signifie que quelque chose ne va pas avec votre téléchargement de python. Je voudrais essayer de désinstaller et de réinstaller python.

85voto

Chenglu Points 154

Si vous compilez Python à partir des sources, vous devez disposer de l'option lzma-dev installé, sinon il ne sera pas intégré à python.

Pour ubuntu : sudo apt-get install liblzma-dev

Pour centos : yum install -y xz-devel

Puis configure && make && make install

14 votes

Où dois-je faire cette configuration et cette fabrication ?

1 votes

J'ai rencontré ce problème en compilant le python à partir du code source. Donc le configure et le make sont faits dans le répertoire du code source.

1 votes

@matt525252 Le code source doit être téléchargé depuis python.org. python.org/downloads

41voto

Mikhail_Sam Points 2822

J'ai utilisé d'autres bonnes réponses d'ici et je n'ai pas résolu le problème (Ubuntu 18.04, Python3.8), je reçois toujours cet avertissement. En fait, il y a un paquet supplémentaire qui doit être installé pour résoudre le problème :

sudo apt-get install lzma

Ainsi, l'ensemble du pipeline (exécuté dans le dossier du code source python) :

sudo apt-get install liblzma-dev
sudo apt-get install lzma
./configure --enable-optimizations
sudo make
sudo make altinstall

1 votes

C'est exactement ce qui m'a aidé, merci =) (Ubuntu 18.04, Python3.8)

1 votes

Cela m'a aidé sur Ubuntu 20.04, Python 3.8.5.

0 votes

@Li-PinJuan Je ne suis pas sûr que nous parlions de la même chose, mais je pensais qu'en utilisant altinstall empêche l'écrasement de Python par défaut.

35voto

Mika Riekkinen Points 391

Sous MacOS et pyenv ( https://realpython.com/intro-to-pyenv/ ), j'ai pu faire disparaître cet avertissement en ayant xz installé avec homebrew. En utilisant la version 3.6.9 de python comme exemple

brew install xz && pyenv install 3.6.9

Pour utiliser le python installé, on doit ajouter ceci dans .bash_profile

eval "$(pyenv init -)"

et commencez à l'utiliser en exécutant

pyenv global 3.6.9

5 votes

Pour Mac OS : brew install readline xz <br/> github.com/pyenv/pyenv/wiki/Common-build-problems (en anglais)

1 votes

J'ai dû exécuter deux autres commandes avant de me débarrasser de l'erreur lzma : set -gx CPPFLAGS "-I/usr/local/opt/readline/include" set -gx LDFLAGS "-L/usr/local/opt/readline/lib" Après cela, j'ai réinstallé les versions de python via pyenv, et je n'ai plus vu l'erreur lzma. J'espère que cela vous aidera !

1 votes

J'ai essayé les commentaires ci-dessus et maintenant j'ai un tas d'impressions dans mon terminal. Pouvez-vous me dire comment annuler les effets de ces commandes ? Merci !

29voto

Yingbo Miao Points 126

Sur macOS, si vous gérez votre python avec pyenv et que vous empaquetez avec homebrew, vous devez d'abord installer "xz" :

brew install xz

Après avoir installé xz, vous pouvez installer python 3.8 par (j'utilise 3.8.2 comme exemple :

pyenv install 3.8.2

La solution ci-dessus résoudra le problème.

1 votes

Cela l'a réparé pour moi !

0 votes

En quoi est-ce différent de la réponse de Mika Riekkinen ?

20voto

Rafayet Ullah Points 438

Si vous utilisez centos et compiler python depuis les sources, vous pouvez l'installer à partir des commandes suivantes

Pour centos : sudo yum install -y xz-devel

Recompiler python à partir du code source

cd Python-3.8*/
./configure --enable-optimizations
sudo make altinstall

2 votes

Exactement ce dont j'avais besoin.

0 votes

Exactement ce dont j'avais besoin pour centos ! Merci, Bro !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X