赞
踩
pyinstaller打包一个python项目,包括打包在anconda下面一个环境。
先进入到需要打包的环境,通过
pip install pyinstaller
测试一下:
输入pyinstaller,显示下面的,表示安装成功。
pyinstaller 选项 python程序文件
如:pyinstaller -F main.py
可以在-F、-D后面加上-w 表示:指定程序运行时不显示命令行窗口(仅对 Windows 有效),不带控制台的打包
我是直接去conda中自己的环境下的lib中的site-packages下找到这个库的文件夹,直接放到和exe文件的同目录下。
如果继续提示有些库没有,我就继续这样加入。
后来嫌弃太多,直接将整个site-packages下的所有文件放到exe文件的同目录下
运行成功!!!
上面是最基础的打包,上面执行后会生成main.spec文件,你可以修改spec文件后通过下面的命令打包
pyinstaller main.spec
运行pyinstaller main.spec
时报错,可以在spec开头加上:
import sys ;
sys.setrecursionlimit(sys.getrecursionlimit() * 5)
# -*- mode: python ; coding: utf-8 -*- import sys ; sys.setrecursionlimit(sys.getrecursionlimit() * 5) block_cipher = None a = Analysis( ['demo.py'], pathex=[], binaries=[], datas=[], hiddenimports=[], hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False, ) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE( pyz, a.scripts, [], exclude_binaries=True, name='demo', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, console=False, disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, ) coll = COLLECT( exe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True, upx_exclude=[], name='demo', )
参数的含义:
夹中。也可以添加整个文件夹:datas= [ (’/mygame/data’, ‘data’ ) ],表示将/mygame/data文件夹下所有的文件都copy到data文件夹下。同命令“–add-data”。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。