Unable to use pyexcel-xls with pyinstaller . python executable not working . python version 3.4.4

孤街醉人 提交于 2019-12-01 08:41:29

The Problem

pyexcel-io uses a method for including plug-ins that pyinstaller does not support. See this issue.

The Workaround

The work around for this issue has a couple of facets.

Change needed to pyexcel

I have submitted a Change Request which shows how to modify pyexcel to allow it to work with pyinstaller. Basically pyexcel-io needs to know how to find frozen modules.

If the pyexcel guys pick up the Change Request, then that will get you going. But if they don't, or you are in a hurry, then copying the changed file from the change request into your site package directory as pyexcel_io/__init__.py will get pyexcel working.

But, pyinstaller also needs to know what to include.

pyinstaller also needs to know to include the required module. So on the pyinstaller command line you will also need to do:

--hidden-import pyexcel_xls.xls

Update:

Change request with this fix has been merged into master branch of pyexcel.

Update #2:

Fix has been released to pypi.

I experienced the same issue using py2exe in place of pyinstaller. After doing some research on my code and some googling I ended up in this thread and found out that the problem is similar and so is the solution. If this can be of any help for others, in order to generate executables with py2exe with the use of pyexcel libraries I added 'pyexcel_xls.xls' and 'pyexcel_xlsx.xlsx' in the includes section in the py2exe setup options. So:

setup(
    name='Hello'
    version='0.1'
    description='Hello program'
    author='Me'
    options={
            'compressed': 1
            'optimized': 1
            'includes': ['pyexcel_xls.xls', 'pyexcel_xlsx.xlsx' ...]
        }
    console=['hello.py']
)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!