话不多说,内容如上,直接开搞:
1、安装pyinstaller组件(已经安装可以跳过)
cmd打开命令行,cd转到在你要打包的.py文件的上层目录。
输入:
pip install pyinstaller
等待正常安装即可,有可能会弹出需要你更新,这个时候按照它提示的一条更新指令更新即可。
2、修改.py文件中的一些路径(没有需要路径的资源可以跳过)
def get_resources_path(relative_path):
if getattr(sys, 'frozen', False):
base_path = sys._MEIPASS
else:
base_path = os.path.abspath('.')
return os.path.join(base_path, relative_path)
"""
LOGO_PATH = '../resources' + os.sep + 'logo.png'
IMAGE_PATH = '../resources' + os.sep + 'index.png'
"""
LOGO_PATH = get_resources_path(os.path.join('../resources', 'logo.png'))
IMAGE_PATH = get_resources_path(os.path.join('../resources', 'index.png'))
注释中的是原本的路径,加入了一个函数,更改了路径的表达形式。
一定要注意路径的正确!
3、制作.spec文件
cmd打开命令行,cd转到在你要制作的.py文件的上层目录。
输入:
pyi-makespec -F yootk.py
yooyk.py是我要制作的源程序文件,你需要修改成你要制作的文件的名字。
等待制作完成即可。
4、配置.spec文件(没有需要路径的资源可以跳过)
如果制作成功的话可以看到在pycharm中你的源程序文件所在的文件夹里出现了一个同名的.spec文件,打开它,配置以下内容:
a = Analysis(['yootk0.py'],
pathex=[],
binaries=[],
datas=[('../resources', '../resources')],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
就是像上图中添加了datas中的文件路径而已。
5、打包程序
cmd打开命令行,cd转到在你要制作的.py文件的上层目录。
输入:
pyinstaller -F yootk.spec
如果没有资源文件直接输入 pyinstaller -F yootk.py即可
打包成功后你的工作目录下dist文件夹中就会出现一个可执行文件了,可以把你的程序发给任何配置了Python的小伙伴一起玩耍了。