Linux 下安装Python指定版本(可离线安装)
描述
Linux系统中也就是Cent OS 7中本身有Python环境,最低的就是Python 2.7,这个版本是让yum使用的,所以不能卸载!
我们只能安装其他版本的Python
安装
1、下载Python的源码包
wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz
如果你要下载其它版本,在链接中更改版本号即可,最好是自己在浏览器打开这个网址,看看网址是否正确。
3、解压安装
将其解压到 /usr/local/,你也可以解压到其它目录。
tar -xvf Python-3.10.0.tgz -C /usr/local/
4、安装相关依赖
由于我们是编译安装,在编译过程中需要依赖很多的库文件,所以在安装Python前,我们要提前把库文件安装好。
sudo yum install -y gcc make zlib-devel ncurses-devel gdbm-devel \
nss-devel openssl-devel readline-devel libffi-devel sqlite-devel \
wget bzip2-devel
不同的环境,所需的依赖可能不同,如果出现缺少依赖的错误,别慌,少哪个装哪个就行。
5、编译Python
先进入 Python 源代码的目录,然后再开始编译,依次执行以下 4 段指令即可。
cd /usr/local/Python-3.10.0
./configure --prefix=/usr/local/python3.10 --with-openssl=/usr --enable-optimizations \--with-ssl-default-suites=openssl
make
sudo make install
上图中有一个warning需要注意:
WARNING: The scripts pip3 and pip3.10 are installed in '/usr/local/python3.10/bin' which is not on PATH.
这个警告意味着 pip3 和 pip3.10 脚本的安装目录不在系统的 PATH 环境变量中。这会致使你在终端直接输入 pip3 或者 pip3.10 时,系统无法找到对应的命令。
那么,可以将Python的bin目录添加到环境变量里:
# 将命令持久化,以后 Python3.10 就是默认版本
echo 'export PATH="/usr/local/python3.10/bin:$PATH"' >> ~/.bashrc
# 只在当前会话中 Python3.10 是默认版本,创建一个新会话后失效
export PATH="/usr/local/python3.10/bin:$PATH"
source ~/.bashrc # 使命令生效
6、测试环境是否安装成功
在 /usr/local/python3.10 目录下执行:python3.10 --version 看能否输出 Python 版本信息。
到此,Python 的安装就完成了。
补充
如果你想执行pip时,默认调用pip3:
root@RNbai:~# pip -V
-bash: pip: command not foundroot@RNbai:~# pip3 -V
pip 21.2.3 from /usr/local/python3.10/lib/python3.10/site-packages/pip (python 3.10)
可以更改软链接的指向
1、确认 pip3 路径
要保证 pip3 可执行文件的路径是正确的,可使用 which 命令来查找:
which pip3
此命令会输出 pip3 的实际路径:
root@RNbai:~# which pip3
/usr/local/python3.10/bin/pip3
2、创建软链接
若确认了 pip3 的路径,就可以重新创建软链接。若你没有 /usr/local/bin 目录的写入权限,需要使用 sudo 提升权限:
#这里使用 $(which pip3) 自动获取 pip3 的路径。
sudo ln -s $(which pip3) /usr/local/bin/pip
3、验证软链接
创建完成后,再次使用 ls -l 命令查看软链接是否创建成功:
root@RNbai:~# ls -l /usr/local/bin/pip lrwxrwxrwx 1 root root 30 Mar 25 02:13 /usr/local/bin/pip -> /usr/local/python3.10/bin/pip3
4、测试 pip 命令
最后,你可以通过执行 pip -V 命令来测试 pip 命令是否能正常使用:
root@RNbai:~# pip -V pip 21.2.3 from /usr/local/python3.10/lib/python3.10/site-packages/pip (python 3.10)
若输出 pip 的版本信息,就说明软链接创建成功,并且 pip 命令能正常调用 pip3 了。
原文参考:https://blog.csdn.net/weixin_45112150/article/details/146500355