-
下载对应python版本的 pywin32
-
安装虚拟环境(为了避免exe文件过大,在虚拟环境里操作)
-
安装virtualenv
- pip install virtualenv
-
安装virtualenvwrapper
pip install virtualenvwrapper-win
linux系统pip install virtualenvwrapper
-
默认创建的虚拟环境位于C:\Users\username\envs,可以通过环境变量 WORKON_HOME 来定制
- 系统变量中新建“变量名”:WORKON_HOME,变量值:“你自定义的路径”
-
创建虚拟环境
- mkvirtualenv 环境名
-
列出所有虚拟环境
- lsvirtualenv
-
激活虚拟环境
- workon 环境名
-
进入虚拟环境的目录
- cdvirtualenv
-
停止虚拟环境
- deactivate
-
删除虚拟环境
- rmvitualenv 环境名
-
-
虚拟环境安装转exe的第三方库pyinstaller
-
pip install pyinstaller
在虚拟环境里安装py文件所需的三方库
-
-
如果代码里导入了外部文件
- 在代码中加入下面的代码
- 根据自己需要更改
import os #生成资源文件目录访问路径 def resource_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) #将代码中需要的文件放到一个文件夹中导入(res),以便将这些文件加入到exe文件中 filetxt = resource_path(os.path.join("res","file.txt")) fileimg = resource_path(os.path.join("res","file.png"))
- 当使用PyInstaller打包程序选择的是单文件夹打包时,PyInstaller会 将文件夹的路径信息存储在sys._MEIPASS中,sys._MEIPASS的值就是程序运行时创建_MEIxxxxxx临时目录的绝对路径
-
生成spec文件
- 进入文件根目录,命令行输入pyi-makespec 文件名
- 添加图标
- pyi-makespec --icon abc.ico -F test.py
-
修改spec文件
将res文件夹以元祖形式添加到a.datas里
将当前目录下的res目录所有文件加入目标exe中(第一个参数),在运行时放在临时文件的根目录下,名称为res(第二个参数)
a = Analysis(['snake.py'], pathex=['C:\\Users\\zhang\\Desktop\\snake'], binaries=[], datas=[('res','res')], hiddenimports=[], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False)
-
生成exe文件
-
pyinstaller -F -w -i a.ico test.spec
- -F 单个exe文件
- -w exe运行时不执行命令行
- -i 添加图标文件a.ico
-
pyinstaller -F -w -i a.ico test.spec
py2exe
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...