Si vous importez sklearn
après avoir connecté la base de données à partir de l'instance ʻEngine` de SQL Alchemy comme indiqué ci-dessous, une erreur d'importation se produira.
demo.Cas de 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 # <-Ici, "Erreur d'importation:Le chargement de la DLL a échoué "s'est produit
<détails> Je ne pense pas que vous écrirez ʻimport --Lors de l'importation supplémentaire après avoir travaillé avec Jupyter Notebook dans une certaine mesure
--Lors de la désérialisation d'un objet avec En tant que traitement symptomatique, il peut être déclaré à l'avance dans le code.
Recommended Posts
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:La procédure spécifiée est introuvable.
Cas effectivement rencontrés
au milieu du traitement comme décrit ci-dessus dans le fichier
.py`, mais vous pouvez rencontrer une erreur dans les cas suivants.joblib.load (...)
etc: arrow_left: C'est ce que j'ai rencontréContre-mesures
Exemple d'importation à l'avance
import sqlalchemy
import cx_Oracle
import joblib
import sklearn # <-Non utilisé explicitement dans ce fichier, mais déclaré
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') # <-Sklearn implicitement utilisé ici