# py打包
# 打包路径问题
重点来了。打包的路径
这个路径如果是多文件打包无问题,如果打包后单文件会有路径问题
import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # 当前路径绝对路径
with open(os.path.join(BASE_DIR,"xxx.txt"),mode='r',encoding='utf-8') as f:
1
2
3
4
2
3
4
打包后单文件则使用此写法:
import sys
import os
BASE_DIR = os.path.dirname(os.path.realpath(sys.argv[0])) # 当前路径绝对路径
1
2
3
4
2
3
4
# 开始打包
pip3 install pyinstaller
- 据说mac、win要分平台分别打包
- 打包用虚拟环境
1. mac 环境开发(为程序创建虚拟环境)
2. 开发完毕后
pip freeze > requestments.txt
3.打开win环境
4.创建虚拟环境(对应的py版本)
5. 安装项目依赖
pip install -r requrements.txt
6. 安装pyinstaller
pyinstaller -F xxxxx
产出 app.ext
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
1. mac 环境开发(为程序创建虚拟环境)
2. 开发
3. 安装pyinstaller
pyinstaller -F xxxxx
产出 app.ext
1
2
3
4
5
2
3
4
5
打包后多文件速度快一些,单文件是把包解压到缓存路径里。
# 1.1打包后多文件
pyinstaller -D app.py
如果程序有报错,在终端中执行文件
# 1.2打包后单文件
pyinstaller -F app.py
如果程序有报错,在终端中执行文件
← selenium自动化 多线程标准代码 →