python3出现parser stack overflow解决方案

在使用python3的时候,执行程序,出现了如下错误:

s_push: parser stack overflow
s_push: parser stack overflow
s_push: parser stack overflow
s_push: parser stack overflow
s_push: parser stack overflow

在程序里面,有使用递归算法。

通过在网上查找解决办法,最终找到了解决办法。

源码编译python时,在根目录下的 Parser/parser.h 文件,有定义 MAXSTACK宏,将该值改大即可。

我改成5000之后,重新编译python,该问题就成功的解决了。

下面是编译python的命令,以python3.7.3为例:

tar -zxvf Python3.7.3.tgz
cd python3.7.3
mkdir build
../configuration --prefix=/home/share/tools/python/python3.7.3 --enable-shared --enable-optimizations
make -j8
make install
export PATH=/home/share/tools/python/python3.7.3/bin:$PATH
export LD_LIBRARY_PATH=/home/share/tools/python/python3.7.3/lib:$LD_LIBRARY_PATH
# 安装pip3
wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
python3 get-pip.py
# 安装python第三方库
pip3 install gdbgui
pip3 install pyinstaller
pip3 install cython
此条目发表在python分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。