Python源代码编译安装
操作系统环境:Centos7
依赖的环境安装:
1.bzip2-devel
在使用pandas时如果提示:ModuleNotFoundError: No module named '_bz2',说明缺少了程序包,这个包只能在安装python之前安装
sudo yum install bzip2-devel
安装必要工具 yum-utils ,它的功能是管理repository及扩展包的工具 (主要是针对repository)
$ sudo yum install yum-utils
安装openssl
yum install openssl openssl-devel
使用yum-builddep为Python3构建环境,安装缺失的软件依赖,使用下面的命令会自动处理.
$ sudo yum-builddep python
完成后下载Python3的源码包。以3.10为例。
最后一步,编译安装Python3,默认的安装目录是 /usr/local 如果你要改成其他目录可以在编译(make)前使用 configure 命令后面追加参数 --prefix=要安装的路径 来完成修改。
tar xf Python-3.10.0.tgz cd Python-3.10.0 ./configure --prefix=/app/python3 --with-openssl=/usr/local/openssl # /usr/local/openssl 为ssl的实际安装目录 make
sudo make install
至此你已经在你的CentOS系统中成功安装了python3、pip3、setuptools,查看python版本
python3 -V
如果你要使用Python3作为python的默认版本,你需要修改一下 bashrc 文件,增加一行alias参数
alias python='/usr/local/bin/python3.10'
由于CentOS 7建议不要动/etc/bashrc文件,而是把用户自定义的配置放入/etc/profile.d/目录中,具体方法为
vi /etc/profile.d/python.sh
输入alias参数 alias python=’/usr/local/bin/python3.5’,保存退出
如果非root用户创建的文件需要注意设置权限
chmod 755 /etc/profile.d/python.sh
重启会话使配置生效
source /etc/profile.d/python.sh
遇到的报错:
1. ffi.h No such file or directory

解决办法:
- 你可以通过查找
/usr/include目录下是否存在ffi.h文件来确认是否已安装libffi开发库。通常,如果安装了libffi-devel(或相应的开发包名称),该文件应该存在于该目录下。
- 若未安装,查找并安装缺失的库:
sudo yum install libffi-devel
浙公网安备 33010602011771号