web-dev-qa-db-fra.com

de . import _methods ImportError: impossible d'importer le nom '_methods' dans cx-freeze python

exe construire avec succès en utilisant cx-freeze. Mais il affiche l'erreur suivante lorsque j'exécute le fichier exe:

de . import _methods ImportError: impossible d'importer le nom '_methods'

15
Jeyi

Cette question était déjà une réponse ici: Pourquoi est-ce que j'obtiens cette ImportError? mais pour des raisons d'exhaustivité voici la réponse pour ce cas spécifique: cx_freeze n'importe pas le module optionnel _ méthode , vous devez donc lui dire explicitement de le faire.

additional_mods = ['numpy.core._methods', 'numpy.lib.format']
setup(name='xyz', 
      version='0.4', 
      description='xyz script',
      options = {'build_exe': {'includes': additional_mods}},
      executables = [Executable('xyz.py')]
    )

Dans le code ci-dessus, je dois également importer le format , après _ les méthodes . Pour moi, les 2 modules sont suffisants, peut-être avez-vous besoin de plus.

26
Rodolfo

D'accord, je pense que nous sommes dans le même bateau. j'ai l'idée du dernier message, mais je ne connais pas très bien la grammaire et il y a une grammaire différente avec le dernier message dans setup.py.

Mais j'obtiens une autre façon de résoudre ce problème:

ajouter import numpy.core._methods et import numpy.lib.format dans votre fichier python.

1
user419050