> 文章列表 > python 打包新方案

python 打包新方案

python 打包新方案

首先是打包一个最简单的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 在同一个目录下方可

python 打包新方案

想多了上面的方案都不可移植
换一个工具cx_Freeze
直接pip 安装就好
Scripts\\cxfreeze.exe .\\main.py
而后运行
这个时候不要高兴太早
但是值得高兴的是
缺的包可以直接去 原来的site-packages 中copy 过来 到 build/lib 中方可