首先是打包一个最简单的python 代码使用 pyinstaller
import os
#直接读取文件获得python.exe 路径
# 待执行python路径
with open("path_run.txt","r",encoding="utf-8") as f:
python_exe,py=f.readlines()
os.system("{} {}".format(python_exe.strip(),py.strip()))
E:\only\venv\Scripts\pyinstaller.exe -F E:\only\py_run_py.py
打包后 将dist 中的exe 和新创建的"path_run.txt" 文件放在一个目录下
而txt 中写输入两行路径
如下:
E:\gr_html\venv\Scripts\python.exe
E:\gr_html\gr_file\gr.py
主程序虚拟环境
主程序
注意打包最简单的exe 的时候要单独
建立一个虚拟环境
这样可以将exe 控制到最小
剩下的便是基于主程序的开发 到时候将这个 执行包和 主程序主程序虚拟环境一同压缩传播方可
上面的代码 有一个bug 无法再他人电脑上运行
import os
#直接读取文件获得python.exe 路径
# 待执行python路径
with open("path_run.txt","r",encoding="utf-8") as f:
python_exe,py=f.readlines()
root=os.getcwd()
os.system("{} {}".format(root+python_exe.strip(),root+py.strip()))
# 当他人运行的时候需要更改目
path_run.txt 中这样写
/venv/Scripts/python.exe
/gr.py
主程序和 exe 和 txt 和venv 在同一个目录下方可
想多了上面的方案都不可移植
换一个工具cx_Freeze
直接pip 安装就好
Scripts\cxfreeze.exe .\main.py
而后运行
这个时候不要高兴太早
但是值得高兴的是
缺的包可以直接去 原来的site-packages 中copy 过来 到 build/lib 中方可