繁体   English   中英

Python:Sqlalchemy搞砸了pyinstaller?

[英]Python: Sqlalchemy messing up pyinstaller?

我正在尝试使用pyinstaller打包程序。 该代码在Windows上运行良好,并使用SqlAlchemy,OpenCV和pyodbc软件包。

我运行pyinstaller创建可执行文件并尝试运行它。 我收到一个错误:

ImportError: No module named ConfigParser

现在,我重新运行了同一件事,并查看了pyinstaller的日志并收到警告:

WARNING: Hidden import "sqlalchemy.sql.functions.func" not found!

和其他一些人。 然后会出现有关尝试以小写和大写方式导入ConfigParser的警告。

 Attempted to add Python module twice with different upper/lowercases: ConfigParser

这里可能是什么问题?

所以,我想通了。 在一定程度上。
似乎pyInstaller不能很好地处理SWIG文件。

sqlalchemy.utils有一个名为compat.py 它可以使模块与所有版本的python兼容。

例如,在python2.x中,有ConfigParser而在py3中,它名为configparser
因此,compat.py中有一部分要处理:

if py3:
    import configparser
    # Some other such import statements
elif py2:
    import ConfigParser as configparser

现在,pyinstaller陷入了困境,因为它只专注于导入,因此它尝试同时导入两者并不幸失败。
我对此的粗略解决方法包括修改compat.py文件并仅保留与我拥有的python版本(2.x)相关的部分。
再次运行pyinstaller被证明是成功的! :)

尽管这一切都非常粗糙,并且可能还有更好的地方,但是我什么也找不到,所以我分享了对我有用的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM