web-dev-qa-db-fra.com

Pyinstaller; ModuleNotFoundError: aucun module nommé 'sklearn.utils._cython_blas'

J'ai cette liste d'importation pour mon projet python:

import pandas as pd
import time
import sqlalchemy
from sklearn.ensemble import RandomForestClassifier
import pandas as pd
import numpy as np
from sqlalchemy import Column, String, Float, Integer, SmallInteger, MetaData
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

Et ce fichier de spécifications pour la distribution du projet:

import sys
sys.setrecursionlimit(5000)

block_cipher = None


a = Analysis(['DataManager.py'],
             pathex=['E:\\ForexPredictor'],
             binaries=[],
             datas=[],
             hiddenimports=['cython','pymysql','pandas._libs.tslibs.timedeltas','sklearn.neighbors.typedefs','sklearn.utils.typedefs'],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          [],
          exclude_binaries=True,
          name='DataManager',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          console=True )
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               name='DataManager')

Et j'utilise cette commande pour faire un fichier exe du projet:

pyinstaller Datamanager.spec

Mais lorsque j'exécute le fichier exe, cela donne cette erreur:

ModuleNotFoundError: No module named 'sklearn.utils._cython_blas'

Quelles autres choses dois-je ajouter à la partie des importations cachées?

3
amin mohammadi

Avez-vous essayé de lire la documentation concernant l'utilisation des fichiers .spec? https://pyinstaller.readthedocs.io/en/stable/spec-files.html#using-spec-files

Je ne sais pas si c'est le problème, mais où est votre fichier * .py dans la commande pour créer un fichier .exe? Autant que je sache, vous devez donner à pyinstaller un fichier .py pour qu'il crée un programme.

0
BHR