python - 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 选项,因此我可以实际读取错误。然后意识到我没有安装枕头,所以无法打包。感谢您的帮助。
解决方案
推荐阅读
- react-native - 如何在 monorepo 中使用 react-redux 连接
- javascript - 当我将鼠标悬停在具有“时尚”类的 div 上时,如何选择具有“部门-o”类的元素
- r - 在 R 中绘制与 lme4 或 LmerTest 模型的置信区间的交互
- mysql - 如何检查表上是否已经存在数据?
- java - 行分隔符打印行之间的空格
- reactjs - React 使网络应用程序聊天也适用于移动设备
- rest - Dart Aqueduct Rest API 单元测试:空安全错误
- javascript - 如何以角度触发数据列表的点击事件
- node.js - Heroku Postgres 数据库随机崩溃,“错误:由于管理员命令而终止连接”
- salesforce - 下载公共销售人员知识文章?