from . import _methods ImportError: cannot import

2019-01-19 12:41发布

问题:

exe build successfully by using cx-freeze. But it shows the following error when I execute the exe file:

from . import _methods ImportError: cannot import name '_methods'

回答1:

This question was already answer here: Why am I getting this ImportError? but for the sake of completeness here is the answer for this specific case: cx_freeze is not importing the optional module _method, so you have to tell him explicitly to do it.

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')]
    )

In the code above I have to import also format, after _methods. For me the 2 modules where enough, may be you need more.



回答2:

Ok, I think we are in the same boat. i get the idea from the last post, but i'm not so familiar with the grammar and there is some different grammar with the last post in setup.py.

But I get another way to solve this:

add import numpy.core._methods and import numpy.lib.format in your python file.