Python转exe方法与_MEI清除方法

一、如何Python转 exe

1、安装 pyinstaller

pip insatll pyinstaller

2、使用 pyinstaller

(1)打包成文件夹

pyinstaller -D xx.py

(2)打包成文件

pyinstaller -F xx.py

(3)打包时引入第三方库(如PyQt5)

pyinstaller --paths 库路径 -F -w xx.py

 

二、爆仓因果与解决方案

1、现象

频繁调用转换后的 xx.exe 发现磁盘文件夹 C:\Windows\Temp 或 C:\Users\用户名\AppData\Local\Temp 下产生了大量名为 _MEIxxxx 的文件夹,几乎要爆满 磁盘

 

2、原因

pyinstaller 的伪官方说明如下:

“官方”链接:https://pyinstaller.readthedocs.io/en/v3.3.1/operating-mode.html

 

3、解决

(1)方案一

方法:指定爆仓路径,避免权限不足引起的无法自动删

优点:省事省心

缺点:不稳定,打包指令复杂了点

pyinstaller --runtime-tmpdir 指定爆仓路径 -F xx.py

 

(2)方案二

方法:动态获取当前运行程序所使用的 _MEIxxxx 路径,运行结束后 os.remove

优点:稳定靠谱

缺点:写代码

# !/usr/bin/python3
# coding: utf-8
# gc.py

import os
import re
import sys


def clear():
    for path in sys.path:
        if re.match(r'^_MEI\d+$', os.path.basename(path)):
            if os.path.exists(path):
                os.remove(path)

 

# !/usr/bin/python3
# coding: utf-8
# demo.py

import os
import sys
import traceback

# not using os.path.abspath(__file__)
work_dir = os.path.dirname(os.path.abspath(sys.argv[0]))
print('sys.path.append("%s")' % work_dir)
sys.path.append(work_dir)

import gc

try:
    pass
except:
    traceback.print_exc()
finally:
    gc.clear()

 

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值