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