py2app 打包

1 .安裝與使用

1.1 安裝

pip3 install py2app

1.2. 創(chuàng)建一個setup.py文件

py2applet --make-setup MyApplication.py

1.3. 創(chuàng)建部署

python3 setup.py py2app

1.4. 清理你的build目錄

rm -rf build dist

2 .圖標

如果您的應用程序具有所需的圖標(.icns格式)或數(shù)據(jù)文件,則還應將它們指定為py2applet的參數(shù)。

  1. png轉生成以下png圖片
    sips -z 16 16 icon.png --out pngpic.iconset/icon_16x16.png
  2. 執(zhí)行命令iconutil -c icns pngpic.iconset -o txt.icns,生成icns圖片

2.2 .修改setup.py設置

"""
This is a setup.py script generated by py2applet

Usage:
    python setup.py py2app
"""

from setuptools import setup

APP = ['ttk_demo.py']
DATA_FILES = [
    'icon.png'
]
OPTIONS = {
    'argv_emulation':True,
    'iconfile':'/Users/lg/Desktop/demo/python_test/tkinter_demo/icon.icns'
}

setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

3. 跨平臺

跨平臺應用程序可以共享py2exe和py2app 的setup.py腳本 。這是一個自我引導示例,它將在Windows或Mac OS X上構建應用程序: setup.py

"""
 py2app/py2exe build script for MyApplication.

 Will automatically ensure that all build prerequisites are available
 via ez_setup

 Usage (Mac OS X):
     python setup.py py2app

 Usage (Windows):
     python setup.py py2exe
 """
 import ez_setup
 ez_setup.use_setuptools()

 import sys
 from setuptools import setup

 mainscript = 'MyApplication.py'

 if sys.platform == 'darwin':
     extra_options = dict(
         setup_requires=['py2app'],
         app=[mainscript],
         # Cross-platform applications generally expect sys.argv to
         # be used for opening files.
         options=dict(py2app=dict(argv_emulation=True)),
     )
 elif sys.platform == 'win32':
     extra_options = dict(
         setup_requires=['py2exe'],
         app=[mainscript],
     )
else:
     extra_options = dict(
         # Normally unix-like platforms will use "setup.py install"
         # and install the main script as such
         scripts=[mainscript],
     )

setup(
    name="MyApplication",
    **extra_options
)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容