python - 为什么我的 pyinstaller 不提取任何 exe 文件
问题描述
我为我的朋友创建了一个项目,我想问如何解决我的 PyInstaller 问题?
我的问题是当我输入
pyinstaller myprogram.py
它确实创建了文件夹,但我在其中找不到.exe
任何位置。它应该在 dist 中,但不是。
解决方案
问题
问题是它会pyinstaller
自动将所有内容捆绑到您的myprogram
文件夹中dist
。在该文件夹中,您将找到一个myprogram.exe
可以运行的文件。但是,这不是那么方便。
解决方案
添加选项 ,--onefile
以便pyinstaller --onefile myprogram.py
应将所有文件捆绑到文件夹exe
下的一个中。dist
-F
也将起作用;但是,如果您稍后要返回它,它的可读性会降低。
脚注
这将在您运行文件时创建一个控制台.exe
- 如果您的脚本中有 GUI(如 Tkinter 或 PyQt),请使用--windowed
.
或者,您可以--onedir
将整个文件夹发送给您的朋友 - 可能会更容易一些。
使用您的 exe添加--add-data {filename}:DATA
将捆绑文件 - 使用sys._MEIPASS
(请参阅这篇很棒的 StackOverflow 帖子)。
最后,如果您只是打印内容,控制台窗口将在一切完成后立即关闭。
有关常用的其他选项,请参见此处。
推荐阅读
- azure-web-app-service - 使用 ARM 模板添加插槽
- c++ - 管理每个对象的静态计数器变量
- automation - 使用 AppleScript 或 JAX 从 macOS Finder 复制 iPhone 文件
- bash - 需要使用 bash 脚本将存储在 2 个不同变量中的值导出到 csv 文件中的两个单独列
- c - 交叉编译 aws webrtc 库失败
- php - 数组默认值插入不正确的插入数据?
- javascript - 保持 `textarea` 高度为 `100%` 不起作用
- django - 如何将当前活动用户作为外键添加到 djangorestframework 中的创建帖子模型?
- docker - 从 docker 容器中代理后面的 minikube VM 内部连接到外部网络
- mysql - 从右连接表中获取所有行