如果你使用的是基于 yum
的 Linux 发行版(例如 CentOS、RHEL、Fedora),安装 libc6-dev
的方式稍有不同。在这些系统中,通常对应的包是 glibc-devel
。
No module named '_ctypes'
使用 yum
安装 glibc-devel
-
更新系统的软件包列表:
先更新系统的包列表,确保你能从最新的仓库中获取软件包。
bashsudo yum update
-
安装
glibc-devel
包:
glibc-devel
包包含了开发所需的 C 库文件和头文件,Python 的ctypes
模块依赖它。bashsudo yum install glibc-devel
-
验证安装:
安装完成后,你可以使用以下命令检查是否成功安装了
glibc-devel
包:bashrpm -q glibc-devel
如果安装成功,你应该会看到类似于以下的输出:
glibc-devel-2.28-151.el8_2.1.x86_64
-
检查
ctypes
是否正常工作:安装完成后,运行以下 Python 命令来检查
ctypes
模块是否能正常工作:bashpython3 -c "import ctypes; print(ctypes.__file__)"
总结:
- 使用
yum install glibc-devel
来替代apt-get install libc6-dev
,这适用于 CentOS、RHEL、Fedora 等使用yum
包管理的 Linux 系统。 - 验证安装通过
rpm -q glibc-devel
来检查。 - 最后,通过 Python 测试确保
ctypes
正常工作。
No module named '_ssl'
你现在的环境中,Python 3.11.1 已经安装并且可以正常使用(通过 python3
命令进入 Python 解释器)。如果你希望重新编译 Python 并且指定新的安装路径,应该选择合适的路径来避免冲突。
两个命令的区别:
--prefix=/usr/python3
:将 Python 安装到/usr/python3
目录。--prefix=/usr/python
:将 Python 安装到/usr/python
目录。
推荐方案:
选择 /usr/python3
作为安装目录,避免与系统已有的 Python 发生冲突。
因为 /usr/python
路径可能会与系统默认的 Python 安装路径冲突,特别是在系统已经安装了 Python 3.x 时。为了避免冲突,使用类似 /usr/python3
这样的路径来安装自定义版本的 Python。
重新编译 Python 的步骤:
-
配置 Python 编译选项:
- 确保
--prefix=/usr/python3
(或其他自定义路径)指定一个新的路径,避免与系统 Python 冲突。 - 使用
--with-openssl=/usr/local/openssl3
来指定 OpenSSL 的路径,确保 Python 使用正确的 OpenSSL 库。 --with-openssl-rpath=auto
用来自动设置运行时库路径。
bash./configure --prefix=/usr/python3 --with-openssl=/usr/local/openssl3 --with-openssl-rpath=auto
- 确保
-
编译和安装 Python:
bashmake sudo make altinstall # 使用 altinstall 以避免覆盖系统默认的 python3
注意事项:
-
为什么使用
altinstall
而不是install
?
altinstall
会避免覆盖系统的python3
命令,因为如果使用install
,它会替换系统 Python,可能导致系统依赖问题。 -
配置成功后 ,你可以使用
python3.11
(或其他版本号)来执行新的 Python 版本,而不影响系统默认的python
。
总结:
-
推荐使用
--prefix=/usr/python3
来避免与系统默认的 Python 发生冲突。 -
完整的命令应该是:
bash./configure --prefix=/usr/python3 --with-openssl=/usr/local/openssl3 --with-openssl-rpath=auto
-
之后执行
make
和sudo make altinstall
安装。 -
No module named '_ssl'
https://blog.csdn.net/m0_69082030/article/details/142684956