文章目录
问题
在
centos
系统使用
make
命令安装
python 3.11.8
时,报错了:
Python runtime state: initialized
Traceback (most recent call last):
File "/usr/local/Python-3.11.8/Lib/site.py", line 73, in <module>
Fatal Python error: init_import_site: Failed to import the site module
Python runtime state: initialized
Traceback (most recent call last):
File "/usr/local/Python-3.11.8/Lib/site.py", line 73, in <module>
import os
File "/usr/local/Python-3.11.8/Lib/os.py", line 29, in <module>
from _collections_abc import _check_methods
SystemError: <built-in function compile> returned NULL without setting an exception
Fatal Python error: make[1]: *** [Python/frozen_modules/codecs.h] Error 1
make[1]: *** Waiting for unfinished jobs....
import os
File "/usr/local/Python-3.11.8/Lib/os.py", line 29, in <module>
from _collections_abc import _check_methods
init_import_site: Failed to import the site module
Python runtime state: initialized
Traceback (most recent call last):
File "/usr/local/Python-3.11.8/Lib/site.py", line 73, in <module>
SystemError: <built-in function compile> returned NULL without setting an exception
import os
File "/usr/local/Python-3.11.8/Lib/os.py", line 29, in <module>
from _collections_abc import _check_methods
make[1]: *** [Python/frozen_modules/io.h] Error 1
SystemError: <built-in function compile> returned NULL without setting an exception
make[1]: *** [Python/frozen_modules/abc.h] Error 1
make[1]: Leaving directory `/usr/local/Python-3.11.8'
make: *** [profile-opt] Error 2
解决
在 CentOS 系统上使用
make
命令安装 Python 3.11.8 时遇到错误,这通常是由于编译环境问题、依赖项缺失或不兼容的软件包引起的。为了解决这个问题,请按照以下步骤进行操作:
- 确保开发工具包已安装: 编译 Python 需要一系列的开发工具和库。您可以使用以下命令安装它们:
sudo yum -y groupinstall "Development Tools"sudo yum -yinstall zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel gcc-c++
- 清理之前的构建尝试: 在尝试再次编译之前,清理之前的构建尝试可以避免遗留问题:
make clean
- 检查 Python 源代码目录: 确保您在 Python 源代码的根目录下执行
make
命令。 - 指定配置选项: 在执行
make
命令之前,您可能需要使用configure
脚本来指定安装路径和其他选项。例如:./configure --prefix=/usr/local/python311
- 重新编译: 使用
make
命令重新编译 Python:make
- 安装: 如果编译成功,使用以下命令安装 Python:
sudomakeinstall
- 创建软链接
rm-f /usr/bin/python3.11 &&ln-s /usr/local/python311/bin/python3 /usr/bin/python3.11
- 验证安装: 安装完成后,验证 Python 是否正确安装:
python3.11 --version
如果在尝试上述步骤后仍然遇到问题,请检查错误日志中提到的具体文件和行号,以获取更多线索。此外,您还可以尝试在 Python 的官方 issue 跟踪器或相关社区论坛上搜索错误信息,看看是否有其他用户遇到了类似的问题,并寻求帮助。
版权归原作者 qq_三哥啊 所有, 如有侵权,请联系我们删除。