[PYTHON] Wenn ich versuche, Pandas unter macOS zu importieren, wird die Fehlermeldung Kein Modul mit dem Namen'_bz2 'angezeigt.

Umgebung

--macOS Big Sur Version 11.0.1

Problem

Als ich beiläufig versuchte, Pandas mit Python zu importieren,

import pandas as pd

Ich habe folgenden Fehler erhalten:

Traceback (most recent call last):
...(Unterlassung)
ImportError: No module named '_bz2'

Ursache

Wenn Sie Python mit pyenv installieren, können Sie davon ausgehen, dass die bz2-Bibliothek für Python nicht installiert und unvollständig ist, da der Compiler das Paket bzip2 nicht erkannt hat.

Wenn ich es mit pyenv installiert hätte, hätte ich die folgende Warnung gesehen.

$ pyenv install 3.9.0

...(Unterlassung)
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?

Lösungen

Wenn der Compiler die bzip2-Bibliothek kennt, verwenden Sie pyenv, um Python neu zu installieren.

1. Installieren Sie das bzip2-Paket

$ brew install bzip2

Während der Installation wird wahrscheinlich eine Meldung ähnlich der folgenden angezeigt: Dies ist sehr wichtig.


For compilers to find bzip2 you may need to set:
  export LDFLAGS="-L/usr/local/opt/bzip2/lib"
  export CPPFLAGS="-I/usr/local/opt/bzip2/include"

2. Stellen Sie LDFLAGS und CPPFLAGS ein

Wenn Sie es nur mit Brew installieren, erkennt der Compiler das bzip2-Paket nicht, wenn Sie Python mit pyenv erstellen. Damit der Compiler es erkennt, müssen Sie "LDFLAGS" und "CPPFLAGS" wie in der zuvor veröffentlichten Nachricht festlegen. Fügen Sie dazu die folgende Anweisung in Ihr .zprofile oder .bash_profile ein:

export LDFLAGS="-L/usr/local/opt/bzip2/lib"
export CPPFLAGS="-I/usr/local/opt/bzip2/include"

Wenn Sie zuvor unterschiedliche "LDFLAGS" und "CPPFLAGS" festgelegt haben, können Sie mehr als eine dieser FLAGs angeben, indem Sie sie mit einem Leerzeichen verbinden. Sie können also auch Folgendes tun:

export LDFLAGS="$LDFLAGS -L/usr/local/opt/bzip2/lib"
export CPPFLAGS="$CPPFLAGS -I/usr/local/opt/bzip2/include"

3. Installieren Sie Python neu

Installieren Sie die Version Ihrer Wahl mit pyenv.

$ pyenv install <version>

Vielleicht ist die vorherige Warnung verschwunden.

Befolgen Sie danach die üblichen pyenv-Installationsverfahren, geben Sie die zu verwendende Python-Hauptversion an und laden Sie die Shell neu.

$ pyenv global <Die gerade installierte Version>
$ exec $SHELL -l

Sie sollten wahrscheinlich in der Lage sein, Pandas zu laden.

(Referenz) Für Linux

Die folgenden Artikel sind hilfreich. Problem ohne Modul mit dem Namen'_bz2 'in scicit-learn

Impressionen

Ich habe viele Möglichkeiten gefunden, um mit dem gleichen Fehler in Linux umzugehen, aber ich konnte keine Möglichkeit finden, mit dem Fehler in macOS umzugehen, also musste ich ihn selbst lösen.

Recommended Posts

Wenn ich versuche, Pandas unter macOS zu importieren, wird die Fehlermeldung Kein Modul mit dem Namen'_bz2 'angezeigt.
Wenn ich TensorFlow nach Python importiere, wird "Importfehler: DLL-Ladevorgang fehlgeschlagen: Das angegebene Modul wurde nicht gefunden" angezeigt.
Ich erhalte [Fehler 2055], wenn ich versuche, mit Heroku eine Verbindung zu MySQL herzustellen
Ich erhalte eine Fehlermeldung, wenn ich versuche, Python mit pyenv in Catalina auf 3 Serien zu erhöhen
Ich erhalte eine Fehlermeldung beim Import von Pandas.
Wenn ich versuche, die Daten in DynamoDB mit Python (boto3) zu aktualisieren, wird "ExpressionAttributeNames enthält ungültigen Schlüssel: Syntaxfehler; Schlüssel: <Schlüsselname>" angezeigt.
Ich erhalte einen Python No-Modul mit dem Namen 'Encodings' mit dem Befehl aws
Importfehler: Der Name'Flask 'kann nicht importiert werden, wenn der Dateiname in Flask flask.py lautet
Ein Problem mit scikit-learn, das den Fehler erhält Kein Modul mit dem Namen'_bz2 '
Jedes Mal, wenn ich versuche, eine CSV-Datei mit Pandas zu lesen, wird ein numpy-Fehler angezeigt.
Wenn ich versuche, mysqlclient mit Django zu installieren, wird die Fehlermeldung angezeigt: Befehl 'gcc' ist mit dem Exit-Status 1 fehlgeschlagen.
Was tun, wenn bei Verwendung von ts-node-dev unter Linux der Fehler "ERR_FEATURE_UNAVAILABLE_ON_PLATFORM" angezeigt wird?
Was tun, wenn Swagger-Codegen mit Python und Importfehler ausgeführt wird? Es wird kein Modul mit dem Namen angezeigt
Wenn ich versuche, mit mysql-connector-python eine Verbindung zu MySQL herzustellen, kann ich keine Verbindung mit dem Fehler "SSL-Verbindungsfehler: SSL_CTX_set_tmp_dh fehlgeschlagen" herstellen.
Ich habe einen Fehler bekommen, als ich versucht habe, Luigi parallel in Windows zu verarbeiten, aber die Lösung
Ich erhalte "Sanity Check" - und "No Module" -Fehler in der Importnummer
Die Platte, von der ich süchtig war, als ich MeCab in Heroku einsetzte
Ich habe am Wochenende versucht, mit Bitcoin Systre zu beginnen
Wenn ich versuche, pip zu verwenden, ist das SSL-Modul nicht verfügbar.
Was tun, wenn "Ich kann die Site nicht sehen !!!!"
Fehler bei der Installation von opencv-python auf jetson nano (ModuleNotFoundError: Kein Modul namens'skbuild ')
Über den Fehler, den ich beim Versuch, Adafruit_DHT von Python auf Raspberry Pi zu verwenden, festgestellt habe
Was ist zu tun, wenn "Betriebssystemfehler: [WinError 126] Das angegebene Modul kann nicht gefunden werden" in der Importlampe angezeigt wird
Wenn ich versuche, pip zu aktualisieren, werde ich nach einem Fehler aufgefordert, ein Upgrade durchzuführen und eine unbegrenzte Schleife durchzuführen
Fehlerbehebung bei der Installation von numba unter macOS
Importfehler: Kein Modul mit dem Namen 'xxxxx' in Python3
Ich erhalte den Fehler ~ ist Null, Singular U, wenn eine verteilte, gemeinsam verteilte Matrix von der linearen Schicht an MultivariateNormal übergeben wird
Im Chainer-Tutorial wird beim Importieren eines Pakets eine Fehlermeldung angezeigt. (spotten)
Bei der Konvertierung von CSV in JSON mit Python bin ich auf einen Zeichencode gestoßen
Versuch, opencv-python3 auf jetson nano zu installieren, aber Fehler (ModuleNotFoundError: Kein Modul namens'skbuild ')
Wenn ich versuche, Jupiter Notebook auf einem Mac zu verwenden, kann ich nur Python2 auswählen
Wenn ich versuche, django und postgresql mit Docker zu verbinden, wird die Fehlermeldung "django.db.utils.OperationalError: Hostname" db "konnte nicht in Adresse übersetzt werden: Name oder Dienst nicht bekannt"
Lösung für "Importfehler: Keine Anforderungen mit Modulnamen"
ModuleNotFoundError: Kein Modul mit dem Namen'_bz2 'in Python in pyenv
Ich habe versucht zu verstehen, wie Pandas und multiple Co-Linearität unter Verwendung des Affairs-Datensatzes als Thema verwendet werden.
Umgang mit dem Fehler "Typfehler: Keine übereinstimmende Signatur gefunden" bei Verwendung von pandas fillna
Als ich die Django-App für Heroku bereitgestellt habe, wurde das Modul nicht gefunden: <Projektname> .wsgi.
Was tun, wenn beim Importieren von matplotlib mit Jupyter ein Importfehler auftritt?
Ich habe eine Fehlermeldung erhalten, als ich Pandas auf einem Mac installiert habe, also habe ich mich damit befasst
Ich erhalte einen Importfehler mit Python Beautiful Soup
Versuchen Sie, die Anzahl der Likes auf Twitter zu schätzen
Ich erhalte eine Fehlermeldung, wenn ich opencv in pyautoGUI einfüge
Versuchen Sie, den Inhalt von Word mit Golang zu erhalten
Beim Versuch meinheld + WebSocket + mongodb wird eine Fehlermeldung angezeigt
Ich bekomme "zu früh, um ein Bild zu erstellen" auf tkinter
Ich habe eine Fehlermeldung erhalten, als ich tweepy unter macOS Sierra installiert habe, also habe ich mich damit befasst.
Was tun, wenn unter Linux die Fehlermeldung "Namensauflösung vorübergehend fehlgeschlagen" ausgegeben wird?
Wenn ich pipenv install <Paketname> ausführe, wird der Fehler "Keine passende Verteilung für <Paketname> gefunden" angezeigt.
Als ich Python unter macOS installiert und verwendet habe, wurde beim Herstellen einer https-Verbindung eine Fehlermeldung angezeigt
[Lösung] Wenn ich versuche, mit GAE eine Verbindung zu CloudSQL herzustellen, wird nur bei dev_appserver ein ImportError angezeigt.
Was tun, wenn ein undefinierter Fehler angezeigt wird: Das Objekt 'Module_six_moves_urllib_parse' hat unter MacOS kein Attribut 'urlencode'