[PYTHON] Beim Importieren von scikit-learn nach dem Herstellen einer Verbindung mit Oracle mit SQL Alchemy tritt ein Fehler auf

Phänomen

Wenn Sie "sklearn" importieren, nachdem Sie die Datenbank wie unten gezeigt von der "Engine" -Instanz von SQLAlchemy verbunden haben, tritt "ImportError" auf.

demo.Fall von py / ImportError


import sqlalchemy
import cx_Oracle

dsnStr = cx_Oracle.makedsn('localhost','1521','pdb-name')
connect_str = 'oracle://user:pass@' + dsnStr.replace('SID', 'SERVICE_NAME')
engine = sqlalchemy.create_engine(connect_str, max_identifier_length=128)

conn = engine.connect()

import sklearn # <-Hier "Importfehler:DLL-Ladevorgang fehlgeschlagen "aufgetreten
Vollständiger Stack-Trace
Traceback (most recent call last):
  File "demo.py", line 12, in <module>
    import sklearn
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\sklearn\__init__.py", line 80, in <module>    
    from .base import clone
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\sklearn\base.py", line 21, in <module>
    from .utils import _IS_32BIT
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\sklearn\utils\__init__.py", line 23, in <module>
    from .class_weight import compute_class_weight, compute_sample_weight
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\sklearn\utils\class_weight.py", line 7, in <module>
    from .validation import _deprecate_positional_args
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\sklearn\utils\validation.py", line 25, in <module>
    from .fixes import _object_dtype_isnan, parse_version
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\sklearn\utils\fixes.py", line 18, in <module> 
    import scipy.stats
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\scipy\stats\__init__.py", line 388, in <module>
    from .stats import *
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\scipy\stats\stats.py", line 180, in <module>  
    from . import distributions
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\scipy\stats\distributions.py", line 8, in <module>
    from ._distn_infrastructure import (entropy, rv_discrete, rv_continuous,
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\scipy\stats\_distn_infrastructure.py", line 23, in <module>
    from scipy import optimize
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\scipy\optimize\__init__.py", line 387, in <module>
    from .optimize import *
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\scipy\optimize\optimize.py", line 36, in <module>
    from ._numdiff import approx_derivative
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\scipy\optimize\_numdiff.py", line 6, in <module>
    from scipy.sparse.linalg import LinearOperator
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\scipy\sparse\linalg\__init__.py", line 114, in <module>
    from .eigen import *
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\scipy\sparse\linalg\eigen\__init__.py", line 9, in <module>
    from .arpack import *
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\scipy\sparse\linalg\eigen\arpack\__init__.py", line 20, in <module>
    from .arpack import *
  File "C:\Users\kurukuruz\anaconda3\envs\sqla-demo\lib\site-packages\scipy\sparse\linalg\eigen\arpack\arpack.py", line 43, in <module>
    from . import _arpack
ImportError: DLL load failed while importing _arpack:Die angegebene Prozedur kann nicht gefunden werden.

Tatsächlich aufgetretene Fälle

Ich glaube nicht, dass Sie während der Verarbeitung "import" schreiben werden, wie oben in der ".py" -Datei beschrieben, aber in den folgenden Fällen kann ein Fehler auftreten.

Gegenmaßnahmen

Als symptomatische Behandlung kann es im Voraus im Code deklariert werden.

Beispiel für den Import im Voraus


import sqlalchemy
import cx_Oracle
import joblib
import sklearn # <-Wird in dieser Datei nicht explizit verwendet, aber deklariert

dsnStr = cx_Oracle.makedsn('localhost','1521','pdb-name')
connect_str = 'oracle://user:pass@' + dsnStr.replace('SID', 'SERVICE_NAME')
engine = sqlalchemy.create_engine(connect_str, max_identifier_length=128)

conn = engine.connect()

joblib.load('path/to/file.dump') # <-Implizit verwendetes sklearn hier

Recommended Posts

Beim Importieren von scikit-learn nach dem Herstellen einer Verbindung mit Oracle mit SQL Alchemy tritt ein Fehler auf
Was tun, wenn beim Importieren von _ssl ein Fehler auftritt?
[Beanstalk] Was tun, wenn beim Importieren der UUID ein Fehler auftritt?
Nach der Installation von CentOS8 mit VirtualBox tritt beim Neustart ein Fehler auf
Beim Versuch, maec 4.0.1.0 mit pip zu installieren, wird eine Fehlermeldung angezeigt
Ich erhalte einen UnicodeDecodeError, wenn ich versuche, mit Python sqlalchemy eine Verbindung zu Oracle herzustellen
Was tun, wenn beim Importieren von numpy mit VScode ein Fehler auftritt?
Rollback, wenn beim Stoff ein Fehler auftritt
Problemumgehung, wenn beim Versuch, PySide mit pip zu installieren, eine Fehlermeldung angezeigt wird
Ein Memorandum, wenn bei der Pip-Installation ein Fehler auftritt
Was tun, wenn beim Importieren von matplotlib mit Jupyter ein Importfehler auftritt?
Was tun, wenn beim Versuch, pip mit pyenv zu verwenden, ein undefinierter Fehler angezeigt wird?
Lösung, wenn beim Ausblenden des Konsolenbildschirms mit PyInstaller ein Fehler auftritt
Ich erhalte eine Fehlermeldung beim Import von Pandas.
Beim Versuch, Xgboost und seine Lösung zu installieren, ist ein Fehler aufgetreten
Umgang mit SSL-Fehlern beim Herstellen einer Verbindung zu S3 mit Python boto
Was tun, wenn beim Laden von mnist eine Fehlermeldung angezeigt wird?
[OSX] [pyenv] Was tun, wenn in pip ein SSL-Fehler auftritt?
[AWS] Umgang mit WordPress "Beim Zuschneiden eines Bildes ist ein Fehler aufgetreten."
Was tun, wenn beim Versuch, eine Nachricht in task.loop () unmittelbar nach dem Start zu senden, eine Fehlermeldung angezeigt wird?
Was tun, wenn beim Laden eines mit Poesie erstellten Python-Projekts in VS Code ein Fehler auftritt?
[Python] Was tun, wenn bei send_keys in Headless Chrome ein Fehler auftritt?
Was tun, wenn bei der Installation von Python mit pyenv eine Fehlermeldung angezeigt wird?
Beim Speichern mit OpenCV ist ein Fehler aufgetreten
Fehler beim Versuch, psycopg2 in Python zu installieren
Beim Importieren von Japanern tritt ein Fehler auf (Problem ungelöst)
scikit-learn Importfehler
[Python] Typ Fehler: 'WebElement'-Objekt ist nicht iterierbar Was tun, wenn ein Fehler auftritt?
Was tun, wenn bei der Installation von Python 2 mit pyenv ein OpenSSL-Fehler auftritt?
Eine einfache Möglichkeit, ein Importmodul mit jupyter zu erstellen
Beim Versuch meinheld + WebSocket + mongodb wird eine Fehlermeldung angezeigt
Behebt ein Problem, bei dem cv2.imread () beim Versuch, ein Bild zu lesen, keinen Fehler ausgibt, auch wenn der Pfad nicht übergeben wird
Bei der Verwendung von Tensorboard mit Pytorch ist ein Fehler aufgetreten
[Linux] Nachdem Sie mit teraterm eine Verbindung zur DB hergestellt und den Befehl Sqlplus eingegeben haben, bis Sie sich bei DB (oracle) angemeldet haben.
Fehler und Lösung beim Versuch, einen mit Labellio erstellten Klassifikator mit meinem eigenen Ubuntu auszuführen
(Vagrant) Antwort auf verweigerte Berechtigung (publickey, gssapi-keyex, gssapi-with-mic) Fehler, der beim Herstellen einer Verbindung zu SSH auftritt
Was tun, wenn beim Aktualisieren von conda ein Fehler beim Entfernen auftritt?
[Python] Hinweise beim Versuch, Numpy mit Cython zu verwenden
Ich erhalte [Fehler 2055], wenn ich versuche, mit Heroku eine Verbindung zu MySQL herzustellen
Ich habe versucht, einen Artikel mit SQL Alchemy auf Wiki.js zu erstellen