【发布时间】:2018-06-13 19:17:43
【问题描述】:
我正在尝试使用 pyinstaller 创建我的 Python 程序的单个 exe 文件,但是当该过程完成时,无法运行该 exe。在查看该过程的控制台输出后,我可以看到以下内容:
126946 信息:寻找动态库
我收到数百行“警告:找不到 lib:api-ms-win-crt-任意数量的不同 .dll 依赖于 dll 或 pyd 所在路径的路径已保存
我使用默认配置安装了 Python,并且一直使用 pip 安装 Python 包。 Pyinstaller 应该是直截了当的,不需要很多额外的步骤,比如创建 setup.py 文件,但似乎缺少一些东西,告诉 pyinstaller 在哪里寻找那些丢失的库。有解决方法吗?甚至是我应该使用的更好的 python 到 exe 编译器?
编辑: 提供更多信息 - 我的程序由 5 个模块组成,其中我使用三个第三方包,包括:PyQt5、pandas 和 ArcGIS。此外,我还有两个 sql 文件,它们也是程序的一部分。我有一种感觉,pyinstaller 只能编译简单的脚本,通过使用其他包、模块和外部文件,它只是用来处理那种东西。
【问题讨论】:
-
你能告诉我们你用来创建单个exe的命令吗
-
最初,我只是在控制台中输入了pyinstaller myFile.py,而在myFile.py目录下。由于我只想拥有一个自包含的 exe,我将其更改为:pyinstaller --onedir --name=myFile --windowed --onefile --noconsole myFile.py
-
@ishandutta2007 这看起来是一个完全不同的问题,因为错误消息引用了不同的缺失库和问题。
-
@NLee23
libpython2.7.dylibdylib 代表动态库。在这两种情况下,库都存在并且位于适当的路径中,但代码无法访问
标签: python compilation libraries pyinstaller