一、安装pyinstaller

通过清华镜像安装比较快

# 二者选其一执行,第二条快

pip3 installer pyinstaller

# 清华镜像安装

# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller

二、安装以后 运行pyinstaller打包命令

pyinstaller test.py --noconsole -i logo.ico

pyinstaller test.py --noconsole -i logo.ico

其中test.py是主程序文件logo.ico是图标

好了 这里小编遇到一个问题 提示无法找到命令,对比windos而言 这里肯定也是需要配置环境变量 ,所以我们首先需要找到pyinstaller的可执行文件(windosws的在python安装目录下 一个script的文件夹下面 将这个目录配置成环境变量即可)

三、使用方法

-h,--help 查看该模块的帮助信息

-F,-onefile 产生单个的可执行文件

-D,--onedir 产生一个目录(包含多个文件)作为可执行程序

-a,--ascii 不包含 Unicode 字符集支持

-d,--debug 产生 debug 版本的可执行文件

-w,--windowed,--noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效)

-c,--nowindowed,--console 指定使用命令行窗口运行程序(仅对 Windows 有效)

-o DIR,--out=DIR 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件

-p DIR,--path=DIR 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径

-n NAME,--name=NAME 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字

解决异常

1、安装后找不到pyinstaller

执行pyinstaller -v提示pyinstaller: command not found

通过find / -name "pyinstaller"查找到pyinstaller

find: /System/Volumes/Data/Users/Guest/Movies: Permission denied

find: /System/Volumes/Data/Users/Guest/Documents: Permission denied

find: /System/Volumes/Data/Users/Guest/Downloads: Permission denied

/System/Volumes/Data/Users/**/Library/Python/3.7/bin/pyinstaller

find: /System/DriverKit: No such file or directory

find: /.fseventsd: Permission denied

find: /private/etc/cups/certs: Permission denied

find: /private/var/networkd/Library: Permission denied

find: /private/var/install: Permission denied

通过vim ~/.bash_profile将配置到环境变量中

export PATH=/System/Volumes/Data/Users/**/Library/Python/3.7/bin:$PATH

然后source ~/.bash_profile出重新编译配置生效。

2、Mac Osx/Windos 使用pyinstalle 打包后图标不生效

我尝试了很久才发现,Mac下图标文件为icns格式Win为ico

# Mac 使用pyinstalle打包配置图标

pyinstaller test.py --noconsole --icon=logo.icns

# Windos 使用pyinstalle打包配置图标

pyinstaller test.py --noconsole --icon=logo.ico

打包好后把你的应用拖到电脑的应用程序下就可以像Mac版的QQ一样点击使用了。Win同理。

3. 我可以用 pyinstaller 在Linux下运行时打包Windows二进制文件吗?

不,这是不支持的。请用Wine来做这件事,用Wine很好。你可能还想看看邮件列表中的这个线程。在版本1.4中,我们内置了一些对此的支持,但它只工作了一半。它需要在另一个分区上安装一些Windows系统,并且只适用于纯Python程序。只要你想要一个像样的GUI(gtk,qt,wx),你就需要安装Windows库了。所以用酒就容易多了。

4. 在OSX下运行时,我可以用 pyinstaller 打包Windows二进制文件吗?

不,这是不支持的。请用Wine。

使用pyinstaller将python程序打包成exe/苹果软件的方法与异常解决 - pytorch中文网

原文出处: https://ptorch.com/news/266.html

问题交流群 :168117787

mac python3打包成窗体程序_使用pyinstaller将python程序打包成exe/苹果软件的方法与异常解决 - pytorch中文网...相关推荐

  1. python怎么导出程序_[272]如何把Python脚本导出为exe程序

    一.pyinstaller简介 pyinstaller将Python脚本打包成可执行程序,使在没有Python环境的机器上运行 最新版是pyinstaller 3.1.1.支持python2.7和py ...

  2. python文件打包成exe是 upx不可用、找不到py文件_使用PyInstaller将Python程序打包成一个单独的exe文件...

    1. 安装步骤略过 网上教程多 2. 用cmd进入PyInstaller的目录 然后执行以下命令: python pyinstaller.py -F C:\test.py 以上命令需要把Python目 ...

  3. exe打包工具哪个最好_为你的 Python 程序写个启动工具箱

    到目前为止,公众号已经介绍了不少图形界面的软件,比如猜数游戏.PDF阅读器.贪吃蛇游戏.天气查询软件.PDF 阅读器等.为了方便他人使用,我们常把图形界面打包成 exe 文件.但是如果我们只是为了自己 ...

  4. 树莓派能直接运行python程序_树莓派怎么运行python程序

    树莓派运行Python程序的方法: 一.RaspBerry系统设置 1.首先在开发板没有通电情况下,连接硬件,以及项目中用到传感器.比如当前项目需要将LED灯插在面包板上,然后通过杜邦线将开发板和面包 ...

  5. python输入q结束程序_试图让一个Python程序以字母“q”退出,但是输入是一个整数?...

    下面的代码片段.我试着搞乱another answer posted on here,但似乎一点也不管用.我不知道我做错了什么.在Xubuntu 18.04 LTS上使用Python3.代码如下:wh ...

  6. python中终止程序_如何结束运行python程序

    有时当一个条件成立的情况下,需要终止程序,可以使用sys.exit()退出程序. sys.exit()会引发一个异常 1.如果这个异常没有被捕获,那么python编译器将会退出,后面的程序将不会执行. ...

  7. 如何用命令行运行python程序_如何使用运行python代码命令行.exe从C应用程序?

    下面的例子运行命令运行TCL脚本(我已经安装在我的计算机上了),您只需要替换命令就可以运行Python并添加脚本文件. 注意脚本文件名后面的"&exit"命令-这会使cmd ...

  8. Pyinstaller将Python程序打包成EXE(多种模式的打包)

    Pyinstaller将Python程序打包成EXE 文章目录 Pyinstaller将Python程序打包成EXE 安装 安装 pip install pyinstaller 博文已经迁移到个人主页 ...

  9. vs python生成exe文件_使用VScode编写python程序并打包成.exe文件-文件夹变成exe

    1. 下载vscode并安装 2. 配置Python环境 点击左下角的吃了图标,在弹出的菜单中选择extensions,在左上方搜索框内输入"Python",可以看到好多Pytho ...

最新文章

  1. pythin怎么根据月份获取月初和月末_信息流是什么?到底应该怎么去做?
  2. 优化:更优雅的异步代码?
  3. HTML DOCTYPE 标签 -- DTDs 文档类型声明
  4. linux下c和c++互相调用
  5. C语言enum关键字
  6. udp接受_UDP协议-看这篇就够了
  7. c# mysql数据集_C#第四次作业:MySQL数据库及C#操作MySQL数据库
  8. windows加域后的问题
  9. Java操作Linuxshell并且获取返回值
  10. 配置mysql环境变量之后,仍然无法打开mysql的解决方法
  11. 【Pygame实战】第三版本最终确认——《愤怒的小鸟梦幻爆破》上线回归,爆赞~
  12. 数据中心机房有哪些等级,国内外的评级标准?
  13. Apache Pulsar PMC 成员翟佳:开源和 Apache 社区是个带有魔法的宝库
  14. 【拓扑学知识】3.乘积空间与拓扑基
  15. C++ accumulate函数介绍、具体案例
  16. KubeEdge SIG AI 进展与规划
  17. 你好,法语!A2课文汇总
  18. 网络流量监控软件怎样实现
  19. Java基础:01Java语言概述(常见的DOS命令,Java语言的特点、核心机制、环境搭建,HelloWorld,注释,Java API 文档)
  20. 微博互粉php,PHP+redis实现微博的推模型案例分析

热门文章

  1. Line实现一号一群,关键在于注册
  2. 烽火HG680-LC免费固件包_同时支持CM211-1zg、CH M304A ZN、MGV2000爱家tv
  3. 网络流量分析利器-可视化网络-netflow【2】-Cisco NetFlow 工作原理介绍及配置
  4. Ubuntu系统的USB禁用取消方式
  5. java获取系统信息
  6. 微信小程序点击复制文本至剪切板
  7. PHP创建迅雷、快车、旋风链接
  8. 前端JS base64转图片
  9. gitlab集成ladp部分用户登录403
  10. IOS label设置多行显示并且文字在最上方显示