Linux 环境下安装python
- 以下是在Linux环境下安装Python - 3.9.4.tgz的详细步骤:
- 1. 下载Python - 3.9.4.tgz(如果未下载)
- 2.解压文件
- 3.安装依赖项(如果需要)
- 4.配置和编译
- 5.安装
- 6.创建一个别名(alias),使得在当前 shell 会话中输入 python 命令时,实际上会执行
- 7.设置环境变量(可选)
以下是在Linux环境下安装Python - 3.9.4.tgz的详细步骤:
1. 下载Python - 3.9.4.tgz(如果未下载)
- 如果您还没有下载该文件,可以使用
wget
命令(假设官方下载链接为https://www.python.org/ftp/python/3.9.4/Python - 3.9.4.tgz
):
#进入软件包下载目录
cd cd /usr/local/
ls
mkdir /usr/local/python
cd /usr/local/python
wget https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tgz
ll
2.解压文件
- 使用
tar
命令解压下载的.tgz
文件:
tar -xvf Python-3.9.4.tgz
- 这将创建一个名为
Python - 3.9.4
的目录,其中包含Python的源代码。
3.安装依赖项(如果需要)
-
Debian/Ubuntu系统:
- 执行以下命令安装编译Python所需的依赖项:
sudo apt - get update sudo apt - get install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
-
Red Hat/CentOS系统:
- 首先更新系统:
sudo yum -y update
- 然后安装依赖项:
sudo yum -y groupinstall "Development Tools" sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
wget -qO /etc/yum.repos.d/CentOS-Base.repo http://mirrors.myhuaweicloud.com/repo/CentOS-Base-8.repo
- 清理yum缓存并重新生成
yum clean all
yum clean metadata
yum makecache
4.配置和编译
- 进入解压后的
Python - 3.9.4
目录:
cd /usr/local/python/Python-3.9.4
- 运行配置脚本,例如指定安装目录为
/usr/local/python3.9
(可根据需求修改):
./configure --prefix=/usr/local/python3.9
- 编译源代码:
make
-
编译过程可能需要一些时间,具体取决于系统性能。
-
异常如下
1). 问题分析 -
在构建Python 3.9.4的过程中,当构建
_ctypes
扩展模块时出现了错误。错误信息显示/usr/local/python/Python - 3.9.4/Modules/_ctypes/_ctypes.c:107:10: fatal error: ffi.h: No such file or directory
,这意味着构建_ctypes
模块需要的ffi.h
头文件缺失。_ctypes
模块用于在Python中调用C函数库,而ffi.h
通常是libffi
库的一部分,这个库提供了一种在运行时调用C函数的机制。 -
由于
ffi.h
缺失,导致gcc
编译器无法编译_ctypes.c
文件,从而_ctypes
模块构建失败。虽然Python整体构建显示“finished successfully”,但实际上一些可选模块(如_ctypes
)由于缺少必要的组件而未能正确构建。
2). 解决方案 -
安装libffi - dev(对于基于Debian/Ubuntu系统)或libffi - devel(对于基于Red Hat/CentOS系统)包
- 如果是基于Debian或Ubuntu系统:
- 使用以下命令安装
libffi - dev
包:
sudo apt - get install libffi-devel
- 使用以下命令安装
- 如果是基于Red Hat或CentOS系统:
- 使用以下命令安装
libffi - devel
包:
sudo yum install libffi-devel
- 使用以下命令安装
- 如果是基于Debian或Ubuntu系统:
-
重新构建Python
- 在安装了相应的
libffi
开发包之后,需要重新运行make
命令来重新构建Python。这将确保_ctypes
模块能够找到ffi.h
头文件并正确构建。例如:
cd /usr/local/python/Python - 3.9.4 make clean make
- 这里的
make clean
命令是为了清除之前构建过程中产生的中间文件,以确保重新构建时不会受到之前失败构建的影响。
- 在安装了相应的
5.安装
- 执行安装命令: 编译源代码无异常前提
sudo make install
6.创建一个别名(alias),使得在当前 shell 会话中输入 python 命令时,实际上会执行
echo "alias python='/usr/local/python3.9/bin/python3.9'" >> /etc/profile
7.设置环境变量(可选)
-
如果希望在任何目录下都能直接使用新安装的Python版本,可以将其添加到
PATH
环境变量中。
-
对于
bash
用户,编辑~/.bashrc
文件:
nano ~/.bashrc
- 在文件末尾添加以下行(假设按照前面的
--prefix
安装):
export PATH="/usr/local/python3.9/bin:$PATH"
- 保存并退出文件(在
nano
中按Ctrl+X
,然后按Y
确认保存)。 - 使环境变量生效:
source ~/.bashrc
现在您已经在Linux环境下成功安装了Python 3.9.4。您可以在终端中输入python3.9
来启动新安装的Python解释器进行测试。