我不能用Pyinstaller打包我的程序,因为我已经安装了enum34,不能卸载,因为一个使用过的模块需要它。有什么建议吗?

2024-10-01 19:15:38 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我试图打包一个我为工作编写的程序,允许人们同时在多个电子表格(@Smartsheets)上添加、更新、删除同一行/列。我使用的是Kivy和smartsheetpythonsdk

当我使用PyInstaller打包应用程序时,按照Kivy的指示,我得到错误: “模块'enum34'没有属性'IntFlag'” 和 “'str'对象没有属性'items'”

现在,当我搜索这个错误时,我看到的唯一建议是卸载enum34并安装常规enum模块。在

更大的问题是smartsheetapi需要enum34,而PyInstaller需要常规的enum。在

关于如何解决这个问题有什么建议吗?我可以吃我的蛋糕,也可以吃,在两者都安装了一些如何?似乎enum34安装在与enum相同的文件夹中(我可能错了,但我想我读了不止一次)。在

我已经看了这个网站的建议,但我需要不知何故每件事都有要求。在

我尝试过卸载enum34并安装常规enum,但正如您所猜到的,它破坏了我的smartsheet模块。在

这里是错误,不确定我的代码是必要的(加上我努力工作,不想它被盗)。在

53 INFO: PyInstaller: 3.4
53 INFO: Python: 3.7.2
54 INFO: Platform: Windows-10-10.0.17763-SP0
55 INFO: wrote C:\Users\mpalu\Desktop\Smartsheet Mass Editor\SSMassEditor.spec
57 INFO: UPX is not available.
58 INFO: Extending PYTHONPATH with paths
['C:\\Users\\mpalu\\Desktop\\Smartsheet Mass Editor',
 'C:\\Users\\mpalu\\Desktop\\Smartsheet Mass Editor']
58 INFO: checking Analysis
58 INFO: Building Analysis because Analysis-00.toc is non existent
59 INFO: Initializing module dependency graph...
61 INFO: Initializing module graph hooks...
63 INFO: Analyzing base_library.zip ...
Traceback (most recent call last):
  File "<string>", line 41, in <module>
  File "<string>", line 13, in walk_packages
  File "C:\Users\mpalu\AppData\Local\Programs\Python\Python37-32\lib\pkgutil.py", line 130, in iter_modules
    for name, ispkg in iter_importer_modules(i, prefix):
  File "C:\Users\mpalu\AppData\Local\Programs\Python\Python37-32\lib\pkgutil.py", line 149, in _iter_file_finder_modules
    import inspect
  File "C:\Users\mpalu\AppData\Local\Programs\Python\Python37-32\lib\inspect.py", line 40, in <module>
    import linecache
  File "C:\Users\mpalu\AppData\Local\Programs\Python\Python37-32\lib\linecache.py", line 11, in <module>
    import tokenize
  File "C:\Users\mpalu\AppData\Local\Programs\Python\Python37-32\lib\tokenize.py", line 33, in <module>
    import re
  File "C:\Users\mpalu\AppData\Local\Programs\Python\Python37-32\lib\re.py", line 143, in <module>
    class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'....
....
3090 INFO: Caching module hooks...
3096 INFO: Analyzing C:\Users\mpalu\Desktop\Smartsheet Mass Editor\SS_Mass_Editor.py
3676 INFO: Processing pre-safe import module hook   urllib3.packages.six.moves
Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "C:\Users\mpalu\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\__init__.py", line 8, in <module>
    from .connectionpool import (
  File "C:\Users\mpalu\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 3, in <module>
    import logging ....
 AttributeError: 'str' object has no attribute 'items' </code>    

如前所述,我只想打包这个程序,这样办公室里的人就可以使用它,而不必安装python和所有的包(这里没有人精通计算机)并使用批处理文件来运行程序。在


Tags: inpyimportinfoliblocallineenum
1条回答
网友
1楼 · 发布于 2024-10-01 19:15:38

^{}是python3.4中引入的enum类型的后端口库,请参见PEP435和{a3}。因为python7.dependency是不正确的,但是它不能运行。在

显然,smartsheet开发人员已经知道这个问题并提供了一个修复程序。请参见this issue descriptionthe fixing commit。升级smartsheet可能会解决您的问题。在

pip install smartsheet-python-sdk  upgrade

如果最新版本尚未通过pip提供,则可以从源代码安装:

^{pr2}$

相关问题 更多 >

    热门问题