0
点赞
收藏
分享

微信扫一扫

解决Pyinstaller 在CentOS中打包程序难缠的错误

滚过红尘说红尘 2022-04-22 阅读 140
centospython

Pyinstaller的下载安装相当简单,Windows和Ubuntu在命令行中直接pip一下就可以了,

pip install pyinstaller

CentOS中还需要事先安装一下依赖的包:

#在安装过程中需要安装gcc和zlib
yum install zlib-devel gcc -y

#然后安装pyinstaller的过程需要wheel
pip install wheel

#最后进行pyinstaller的安装就没问题了
pip3 install pyinstaller

但是在程序打包过程中遇到了很多问题,有些问题非常容易解决,但是有两个问题纠缠了很久,所以在这里记录一下,希望能帮到同样遇到这类问题的你。
问题1、运行打包好的程序出现下面警告提示:

WARNING: file already exists but should not: /tmp/_MEIy2j282/torch/_C.cpython-38-x86_64-linux-gnu.so
WARNING: file already exists but should not: /tmp/_MEIy2j282/torch/_dl.cpython-38-x86_64-linux-gnu.so

解决方法:打开你打包过程中产生的.spec文件,在第20行左右的位置,添加如下几行内容:

for d in a.datas:
	if '_C.cpython-37m-x86_64-linux-gnu.so' in d[0]:
		a.datas.remove(d)
		break
for d in a.datas:
        if '_dl.cpython-37m-x86_64-linux-gnu.so' in d[0]:
                a.datas.remove(d)
                break

在这里插入图片描述
问题2、运行打包好的程序出现下面警告提示:在这里插入图片描述
有好多文章采用的解决办法是更换torchvision的版本,但是我没用过,怕好多东西不能用胆小的我选择的保守修改,还真让我改好了,可喜可贺呀~
解决方法:找到警告中文件image.py和_jit_internal.py,分别将这两个文件中的warn这一行注释掉,并加入a=1来占位,防止程序出错。
在这里插入图片描述
虽然警告并不影响程序运行结果,但是有警告看着就好烦呀!!!!!!!
哈哈哈哈~
现在解决啦,记录又一次成功~

举报

相关推荐

0 条评论