目录
1建立虚拟环境
好处:打包文件小,成功率高。坏处:代码使用到的第三方库需要重新安装
如果不想使用虚拟环境,直接看2打包。
conda
如果没有conda,直接使用venv。
查看虚拟环境
conda env list
创建虚拟环境
conda create -n venvName python==3.6
激活虚拟环境
conda activate venvName
查看安装的包
conda list
退出虚拟环境
conda deactivate venvName
删除虚拟环境
conda remove -n venvName--all
venv
venv是python的内置模块,小巧轻便,使用灵活
创建
cd python_install_path
python.exe -m venv VENV_DIR
注意 :VENV_DIR是目录,就是文件夹。python.exe是可以使用指定版本的python创建 环境。如果电脑上只有一个版本的python,可以直接
python -m venv VENV_DIR
激活
cd VENV_DIR\Scripts\
activate
退出
deactivate
需要删除环境时,直接删除文件夹就可以。
2打包
安装pyinstaller
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller
如果使用虚拟环境,还需安装代码中使用到的第三方库。
打包
如果代码中使用到图片,音乐等等资源,打包成exe运行时需要这些资源文件夹 。
如果代码中没有使用到图片,音乐等等资源,那么exe就可以直接运行。
Pyinstaller -F -w -i icon.ico py2exe.py
-F:打包成文件,-D是打包成文件夹
-w:无终端
-i :打包成exe软件的图标。
生成的exe文件在dst目录下 。
如果代码中使用到图片,音乐等等资源,打包时就只单纯要一个exe文件,就需要把资源文件嵌入到exe中。
代码中使用到资源的路径都使用下面这个函数加载路径。
import sys
import os
def get_path(relative_path):
try:
base_path = sys._MEIPASS
except AttributeError:
base_path = os.path.abspath(".")
return os.path.normpath(os.path.join(base_path, relative_path))
image = tk.PhotoImage(file=get_path("res/worker.png"))
然后使用下面这个终端命令
pyinstaller -w -F --add-data res;res -i icon.ico py2exe.py
--add-data 路径1;路径2:路径1是资源的路径,路径2是嵌入到exe的资源路径,应该可以任意取名的。
标签:exe,windows,python,虚拟环境,conda,path,打包 From: https://blog.csdn.net/weixin_65816128/article/details/139693370