Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

from . import _methods ImportError: cannot import name '_methods' in cx-freeze python

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'

like image 463
Jeyi Avatar asked Jan 19 '17 06:01

Jeyi


2 Answers

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.

like image 55
Rodolfo Avatar answered Nov 18 '22 08:11

Rodolfo


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.

like image 44
user419050 Avatar answered Nov 18 '22 08:11

user419050