PyStand
PyStand copied to clipboard
py代码加了多线程后运行出错怎么解决
py文件直接运行是可以的 但是pyinstaller打包也是一样的出错,表现为会运行一堆的程序,解决办法是在 if name=='main:'下添加一句multiprocessing.freeze_support() 。 但是pystand这样还是不行,有没有解决办法
这个叫多进程,搜索一下吧,之前有人反馈过类似问题
我也遇到类似的问题,我的项目使用多线程,在子线程中运行一个 websocket 服务,且端口是写死的。我直接运行程序能够正常执行,但是使用 PyStand 就会出现端口已被占用的报错,并且使用的内存是正常执行的好几倍
破案了,按照 https://github.com/skywind3000/PyStand/issues/21 这个 issue 的说法,在 PyStand.py 中加上如下代码即可解决:
import sys
import multiprocessing
if not hasattr(sys, 'frozen'):
sys.frozen = True
multiprocessing.freeze_support()