1、使用pip安装

sudo pip3 install py2app

(如果系统中同时安装了Python2和Python3,则pip默认给Python2用,pip3指定给Python3用。)

2、进入要打包的文件所在的文件夹

cd /Users/apple/Documents/脚本

3、生成setup.py文件,该文件用于写打包所需要的依赖

py2applet   --make-setup  xxx.py  # xxx.py为项目的启动文件,之后生成的xxx文件就是双击执行的app文件

执行以后目录中会生成 setup.py 文件,用于写入依赖的库。

注:使用中遇到找不到py2applet的问题,如下方法解决。

appledeiMac:脚本 apple$ sudo pip3 uninstall py2app
Password:
WARNING: The directory '/Users/apple/Library/Caches/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag.
Found existing installation: py2app 0.26.1
Uninstalling py2app-0.26.1:Would remove:/Library/Frameworks/Python.framework/Versions/3.9/bin/py2applet/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/py2app-0.26.1.dist-info/*/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/py2app/*
Proceed (y/n)? n
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
appledeiMac:脚本 apple$ ln /Library/Frameworks/Python.framework/Versions/3.9/bin/py2applet /usr/l
lib/     libexec/ local/
appledeiMac:脚本 apple$ ln /Library/Frameworks/Python.framework/Versions/3.9/bin/py2applet /usr/local/bin/py2applet

尝试卸载,发现有py2applet。

显示Would remove : ****/py2applet 说明有这个,但系统未找到,因此通过软连接将此文件链接到系统bin中,可直接执行

4、在 setup.py 文件中手动输入需要的依赖

如果项目简单,没有第三方库和自建模块,可以忽略此步骤。

下面是setup.py文件的一个例子,手动输入的部分就是在 DATA_FILES 空列表里加自建模块的名字,在 OPTIONS 字典的 includes 对应的空列表中加第三方模块的名字

"""
This is a setup.py script generated by py2appletUsage:python setup.py py2app
"""from setuptools import setupAPP = ['test.py']
DATA_FILES = ['xxx1.py','xxx2.py','xxx3.py']
OPTIONS = {'includes': ['os', 'time', 'tkinter'],}setup(app=APP,data_files=DATA_FILES,options={'py2app': OPTIONS},setup_requires=['py2app'],
)

5、生成app

# 自己开发,打包速度快。(因为本机安装了依赖库,所以可以直接运行)
python setup.py py2app -A# 给其他没有 sdk 的电脑使用,包括 lib 库。(没有安装 sdk 的电脑使用,需要去掉 -A,将把所有的依赖全部打包。)
python setup.py py2app 

之后会生成 build 和 dist 两个文件夹,启动文件在 dist 下,双击就可以执行。

注:如果发现有问题,在重新进行上述步骤前最好先删除 build 和 dist 两个文件夹

rm -rf build dist

我打的包执行时会重启电脑。先研究一下。

python代码能做成软件步骤与异常情况mac相关推荐

  1. python能做软件开发吗-python代码能做成软件吗

    我们首先还是使用pip进行安装: pip install PyInstaller 安装完成后,直接打开命令行,输入pyinstaller,如果显示如下界面,说明安装成功. 然后就可以进行我们小程序的封 ...

  2. python能写软件吗-python代码能做成软件吗

    我们首先还是使用pip进行安装:pipinstallPyInstaller 安装完成后,直接打开命令行,输入pyinstaller,如果显示如下界面,说明安装成功. 然后就可以进行我们小程序的封装了. ...

  3. python制作编程软件的方法_python代码能做成软件吗

    我们首先还是使用pip进行安装: pip install PyInstaller 安装完成后,直接打开命令行,输入pyinstaller,如果显示如下界面,说明安装成功. 然后就可以进行我们小程序的封 ...

  4. Mac安装软件时各种异常情况的解决方法

    Mac安装软件时各种异常情况的解决方法 提示程序含有恶意代码或者已经打开所有来源还是提示扔到垃圾桶 在终端输入 xattr -r -d com.apple.quarantine 加上程序的App绝对路 ...

  5. python代码怎么变成软件_从Python代码到APP,你只需要一个小工具:GitHub已超6000星

    点击上方Python知识圈,选择设为星标 回复1024获取Python资料 选自TowardsDataScience作者:Adrien Treuille机器之心编译参与:魔王.一鸣 阅读文本大概需要 ...

  6. python代码如何做成应用程序_Python的源代码如何转成可以执行的应用程序?

    一.安装pyinstaller 如果你用的是pycarm,直接在setting里面找到pyinstaller的库安装即可. 有一点要注意的是,并非所有的python都支持pyinstaller,目前的 ...

  7. python代码变成手机软件_三款可以在安卓手机上运行Python代码的软件

    导语 READ 我相信大家平时大多数时间肯定都是在电脑上面敲Python代码,有时候出门外或者不方便使用电脑的时候,你是否曾想用手机就能编写和运行Python代码呢?本文将会介绍3款不同的安卓软件帮忙 ...

  8. python上一行的代码打错了怎么办_写Python代码过程中碰到各种错误异常要怎么样去处理?...

    错误异常即便Python程序的语法是正确的,在程序运行的过程中,也可能发生错误.运行期检测到的错误被称为异常. 如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因. ...

  9. python代码怎么变成软件_Python变成技术

    Python 变成技术 数科 181 李思涵 我在阅读了教材后,大致了解了 python 是最流行的动态脚本语言之一.<编程导论 - 以 Python 为舟>本书共 8 章,由浅入深.全面 ...

最新文章

  1. 李飞飞AI100报告提出14大AI机遇与挑战(附pdf)
  2. 不是不去爱,爱了也是一种伤害!
  3. MysqL数据库密码的管理
  4. iOS开发多线程篇—线程安全
  5. 解决:MIUI 8应用商店下载不了软件 APP
  6. 视频云直播:场景、技术及优化
  7. HDU 4281 Judges' response [MTSP]
  8. ubuntu 安装kde桌面_在Ubuntu 20.04系统上安装KDE Plasma Desktop的方法
  9. Unity shader图集Atlas下的UV坐标归一化转换
  10. 没有人会觉得正则表达式难写
  11. 阿里P7亲自教你!我的头条面试经历分享,完整PDF
  12. logout退出登录该用get方法还是post方法?
  13. go-cqhttp系列教程-三种消息类型的复述(私聊,群聊,频道)-3
  14. 僵尸网络是什么;僵尸网络有什么特点
  15. 关于python格式对齐的问题_解决python对齐错误的方法
  16. 1527编码协议_EV1527解码,我也贡献一个,抗干扰,自适应.....
  17. WPS 卸载后图标被篡改以及 WPS卸载干净步骤
  18. 微信小程序之兼容问题
  19. 图像类找工作面试题(二)——常见问题大总结
  20. 火山小视频伪原创方法 视频文件分割改变md5

热门文章

  1. 华南师范大学计算机学院图论,葛文秀 - 华南师范大学 - 数学科学学院
  2. 利用tabluea分析数据的案例_tableau数据可视化案例
  3. webman apidoc安装、生成接口文档
  4. 阿里电商故障治理和故障演练实践
  5. 云计算笔记10day、11day
  6. 我在大厂写React学到了什么?性能优化篇
  7. 《Python编程 从入门到实践》第八章 ——函数习题
  8. 影像科dsa为什么必须买维修保险_为什么大家对影像科了解得那么少呢?
  9. Redis和Memcached的区别(数据类型、内存管理、数据持久化、集群管理)
  10. Squirrel and chestnut CodeChef - SQUIRREL