首页 > 解决方案 > Pyinstaller可以使用其他文件夹中的数据执行吗?

问题描述

我编写了一个程序,它使用 Python 和 tkinter 生成随机名称并显示随机图像。但是,我希望用户能够添加和删除图片以及编辑学生的姓名。话虽如此,我不想将这些打包在用户无法更改的可执行文件中。

要使用 PyInstaller,我进入命令提示符并导航到工作目录并键入:

pyi-makespec --windowed --onefile --icon=Assets\\icon.ico random_student.py

然后,在规范文件中,我将数据更改为:

datas=[('Assets\\icon.ico', 'Assets')],

然后,我跑

pyinstaller random_student.spec

该程序使用 PyCharm 运行良好。而且我已经对其他几个 .py 文件执行了完全相同的方法,并且它可以工作。但是,他们不需要将图像/文本拉到他们的程序中。这将创建一个可执行文件,但我无法运行它。它给了我一个致命错误“无法执行脚本 random_student”。我尝试将可执行文件放在工作目录和图片文件夹中,但都不起作用。

我目前正在使用 Windows 10 64 位和 Python 3.6.6

我会很感激我能得到的任何帮助!

解决方案:我删除了 --windowed 选项,因此我可以实际读取错误。然后意识到我没有安装枕头,所以无法打包。感谢您的帮助。

标签: pythonpyinstaller

解决方案


推荐阅读