mac电脑使用pyinstaller打包python脚本

发布于:2024-03-05 ⋅ 阅读:(116) ⋅ 点赞:(0)
pyinstaller -F template.py

出现报错"AssertionError: Executable contains code signature!"

移除签名

codesign --remove-signature /Users/f7692281/PycharmProjects/TPtestlist/transmit_v6.0.py

打包命令

pyinstaller --windowed transmit_v6.0.py

pyinstaller -w  -D transmit_v6.0.py

打包静态文件 

在网上查找了很多资料,比如将静态文件,或是引用的图片一同打包之类的,比如修改transmit_v6.0.spec里面的datas,将ip.ini文件打包进来.然后重新再次打包transmit_v6.0.spec.datas里面放置的是元祖,元祖里面的是(文件名,文件位置)

命令:

pyinstaller transmit_v6.0.spec

打包之后的效果如图,ip.ini会出现在该位置.transmit_v6.0此时是可以运行的,但是transmit_v6.0.app还是不可以运行,因为这个app里面还是不存在ip.ini,你需要手动将其放置进去.然后就可以用了

这样打包之后,发现我打包出来的APP特别的大 ,900多M......,并且将APP传给别人的电脑上面还会显示APP已经损坏.....所以最好还是创建虚拟环境,在虚拟环境里面进行打包

 创建虚拟环境步骤

1) 在某个位置创建放置虚拟环境的文件夹:env_test

2) 进入该文件夹

cd  /Users/f7692281/Desktop/env_test 

3) 创建虚拟环境,虚拟环境名为myenv

python -m venv myenv

4)激活虚拟环境 

source myenv/bin/activate

5) 在此环境下面直接安装脚本需要的第三方库 ,用镜像安装快.它提示少什么,直接装就可以了.pyinstaller也不能少.

pip install numpy  -i  https://mirrors.aliyun.com/pypi/simple
pip install pandas  -i  https://mirrors.aliyun.com/pypi/simple
pip install openpyxl  -i  https://mirrors.aliyun.com/pypi/simple
pip install Jinja2 -i  https://mirrors.aliyun.com/pypi/simple
pip install pyinstaller -i  https://mirrors.aliyun.com/pypi/simple

6) 打包,打包时脚本要在虚拟环境里面,所以打包时直接输入脚本名字,不要用绝对路径拖进来,会报错(不知道为啥)

pyinstaller -w -D template.py


网站公告

今日签到

点亮在社区的每一天
去签到