python程序打包成exe文件

1、打包成多文件

  • 把你的运行环境导出来
pip intsall requests  
pip freeze > requirets.txt 
  1. 新建项目,虚拟环境
    python程序打包成exe文件_第1张图片
  2. 写好python文件,点击下方的终端命令行安装所需的包
    下面展示一些 内联代码片
// A code block
var foo = 'bar';
pip install pyinstaller

python程序打包成exe文件_第2张图片
3. 运行代码,打包,我们只要dist里的文件

 pyinstaller -D XXX.py

运行之前可以把你的项目文件属性,只读给去掉,点击右键属性即可
python程序打包成exe文件_第3张图片
python程序打包成exe文件_第4张图片
4. 如果想要看报错信息,先打开cmd窗口,再把exe文件拖进去,再运行即可

2、单文件打包

pyinstaller -F XXX.py

python程序打包成exe文件_第5张图片

3、打包的文件重命名

pyinstaller -F app.py -n 测试打包

python程序打包成exe文件_第6张图片

4、打开文件路径问题

  • 下面这样多文件不会报错
  • 少文件会报错:解析到临时目录
    python程序打包成exe文件_第7张图片
  • 基于sys.argv解决:正确的代码路径格式:
import sys
import time
import  os

# H:\文件打包成exe格式    <---当前文件的上一层目录
# BASE_DIR=os.path.dirname(os.path.abspath(__file__))
BASE_DIR=os.path.dirname(os.path.realpath(sys.argv[0]))

print("---欢迎使用XXX系统---")
with open(os.path.join(BASE_DIR,"account.txt"),mode='r',encoding='utf-8') as f:
    data=f.read().strip()
print(data)

time.sleep(5)

5、导入模块问题

  • 打包程序会自动导入其所相关的包,或者它相关的相关的包都可以
    python程序打包成exe文件_第8张图片
  • 如果遇到动态导入模块的代码时,无法找到关联的包
    python程序打包成exe文件_第9张图片
  • 解决:手动导入
    python程序打包成exe文件_第10张图片
  • 此时打包方式发生变化,这样就可以了
 pyinstaller -F  测试打包.spec ```

你可能感兴趣的:(经验类,python,开发语言)