如果pyinstaller无法找到动态库或自定义库,该怎么办?

NL23代码

我正在尝试使用pyinstaller创建我的Python程序的单个exe文件,但是在该过程完成后,无法运行该exe。查看该过程的控制台输出后,可以看到以下内容:

126946 INFO:寻找动态库

我收到几百行“警告:找不到lib:api-ms-win-crt- dll或pyd的保存路径的任意数量的.dll依赖项

我使用默认配置安装了Python,并且始终使用pip安装了Python软件包。Pyinstaller应该很简单,不需要很多额外的步骤,例如创建setup.py文件,但是似乎缺少了一些东西,它告诉pyinstaller在哪里寻找那些缺少的库。有没有解决方法?甚至我应该使用更好的python到exe编译器?

编辑:为了提供更多信息-我的程序由5个模块组成,在这些模块中,我使用了三个第三方程序包,包括:PyQt5,pandas和ArcGIS。另外,我还有两个sql文件,它们也是程序的一部分。我觉得pyinstaller只能编译简单的脚本,并且通过使用其他程序包,模块和外部文件,它就是用来处理这种事情的。

NL23代码

我进行了一系列更改,以使构建编译并正确运行。

首先,pyinstaller缺少熊猫的“挂钩”文件,因此必须手动创建一个。对我而言,挂钩文件夹位于此处:“ C:\ Users \ natha \ AppData \ Local \ Programs \ Python \ Python36-32 \ Lib \ site-packages \ PyInstaller \ hooks”

在该文件夹内,我创建了一个名为hook-pandas.py的文件,该文件的唯一内容是一行:hiddenimports = ['pandas._libs.tslibs.timedeltas']

我确实安装了Windows 10 SDK,但是我不确定这是否只是问题的一部分,或者是否会影响到问题。我的程序由多个模块组成,因为我喜欢在不同的文件中分离不同类型的进程。但是,为了简化起见,我将所有代码组合到一个.py文件中,而只有另一个文件包含我的PyQt5 / Qt Designer自动生成的GUI代码。我删除了所有读为

from x.y import z 

我在一些pyinstaller无法识别这些东西的构建中收到错误。所以我让事情很简单

import PyQt5

最后,当我使用-p命令编译内部版本时,添加了两个文件路径。一个指向我程序的根目录,这是另一个模块(PyQt5模块)的保存位置,第二个路径是“ C:\ Users \ natha \ AppData \ Local \ Programs \ Python \ Python36-32 \ Lib” \ site-packages”。一旦完成这些操作,编译即可正常完成,并且构建可以完美运行。总而言之,成功的关键在于:

-如果脚本中正在使用熊猫,请确保有一个hook-pandas.py文件。-确保hook-pandas.py文件包含以下行:

hiddenimports = ['pandas._libs.tslibs.timedeltas']

-并且确保使用-p命令将pyinstaller定向到保存自定义模块和所有python软件包的位置。我的-p命令如下所示:

-p C:\Users\natha\Desktop\Python_Projects\CompEval\code:C:\Users\natha\AppData\Local\Programs\Python\Python36-32\Lib\site-packages

注意冒号将两条路径分开。

我认为这些是要检查的主要内容,次要的是

from x.y import z

键入import,以避免这些。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果我需要从npm模块手动自定义代码,该怎么办

如果存储库/ PPA没有发布文件,该怎么办?

如果我想在React中使用AOS这样的JavaScript库,该怎么办?

我要自定义序列化器字段,该怎么办?

如果在自定义启动屏幕上看到检查,我该怎么办?如果已经看到漫游屏幕

是否可以在Android上开发自定义API?如果是这样,怎么办?

是否可以自定义任务栏图标?如果可以,怎么办?

我需要更新数据库该怎么办?

如果Rasa无法识别意图,该怎么办?

无法从远程存储库读取错误。怎么办?

如果AsyncTask被取消,该怎么办?

如果GOMAXPROCS太大,该怎么办?

如果将MS Office(例如.docx)或OpenOffice(例如.odt)文档放入git存储库,该怎么办?

如果他们在PHP密码库中更改了PASSWORD_DEFAULT,该怎么办?

自定义 XML 解析器 - 当某些键不存在时该怎么办?

自定义allauth django项目的email_confirmation_message.txt会出错,该怎么办?

是否可以在 Rust 标准库中找到所有智能指针的列表?如果有怎么办?

如果要将DataGrid绑定到动态数据该怎么办?

如果不存在该物品该怎么办?

从cocoapod项目中仅删除一个库,我该怎么办?

通过dexplore使用数据库预览时,我该怎么办?

升级到随后从存储库中删除的软件包...该怎么办?

如果无法正确解析Beautiful Soup 4,该怎么办?它找不到输入

如果应用程序无法识别水平滚动,该怎么办?

如果无法删除共享内存段该怎么办

如果Kafka经纪人无法连接到Zookeeper,该怎么办?

如果视频卡无法获得足够的电量,该怎么办?

如果调试无法正常运行(Eclipse IDE,Android SDK),我该怎么办?

如果wifi可以扫描网络但无法连接,该怎么办?