我有一个使用 Flask 的 Python Web 应用程序。
生产服务器运行 Debian 9 并安装了 Python 3.5.3。
我们向应用程序添加了一些使用依赖于 Python 3.10.x 的语言功能和包的功能。
我找不到适用于 Debian 9 的 Python 3.10.x 软件包。目前无法将服务器升级到更新的 Debian 版本或发行版。
我已经尝试从源代码编译Python3.10、3.9,但segmentation fault
在尝试运行应用程序时出现错误。
我尝试使用中提到的步骤从源代码编译Python https://tecadmin.net/how-to-install-python-3-9-on-debian-9/
wget https://www.python.org/ftp/python/3.x.x/Python-3.x.x.tgz
tar xzf Python-3.x.x.tgz
cd Python-3.x.x
./configure --enable-optimizations
make altinstall
我尝试编译版本 3.10.4、3.9.13 和 3.8.13,但没有成功。segmentation fault
尝试运行应用程序时不断获取。
另外,是否有关于 Linux 操作系统发行版与 Python 版本支持的列表?
答案1
可能还有许多其他问题来源,但这可能会有所帮助。我认为在构建 Python 时更典型的是包含几个编译器/链接器标志行(下面的最后 3 行)。真的不知道...我一直在狂热地崇拜这个。但以下方法通常对我有用:
./configure --prefix=/usr/local \
--enable-optimizations \
--with-lto \
--with-dbmliborder=bdb:gdbm \
--with-ensurepip \
'CFLAGS=-g -fstack-protector-strong -Wformat -Werror=format-security' \
LDFLAGS="-Wl,-z,relro" \
CPPFLAGS=-D_FORTIFY_SOURCE=2
...然后make install
(将其放入 /usr/local/bin 等中)。