PyInstaller exe出现cython错误

时间:2018-08-07 07:32:51

标签: python python-3.x pandas pyinstaller

我正在尝试从PyQt5代码创建一个exe。最初未能说 “ Projectfolder \ jedi \ evaluate \ compiled” 文件夹丢失。我从绝地开始添加了空文件夹。然后它失败了,说缺少json文件。我从站点包中添加了plotly文件夹。现在它失败,并显示以下错误:

File "pandas\_libs\tslibs\conversion.pyx", line 222, in init pandas._libs.tslibs.conversion
AttributeError: type object 'pandas._libs.tslibs.conversion._TSObject' has no attribute '__reduce_cython__'
[4380] Failed to execute script

我现在很困惑,在github和stackoverflow上搜索类似的问题并没有太大帮助。我的规格文件如下:

# -*- mode: python -*-
import sys
sys.setrecursionlimit(5000)

block_cipher = None


a = Analysis(['start.py', 'process.py', 'compute.py'],
             pathex=['path to project folder'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          exclude_binaries=True,
          name='projectname',
          debug=False,
          strip=False,
          upx=True,
          console=True )
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               name='projectname')

我的代码确实依赖于外部csv数据,但是直到单击按钮后才调用它。因此,至少应显示主表单。有人可以让我知道我在做什么错吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我正在查看以下链接中的评论: https://github.com/pyinstaller/pyinstaller/issues/3079

最后找到了对我有用的解决方案。我需要将pandas文件夹从站点程序包复制到dist。我想,如果规范文件配置正确,可以避免这种情况,但是很高兴看到它最终能够正常工作!