linux环境下安装多个任意版本的python环境

linux环境下安装多个任意版本的python环境

安装方法可以归结为 [下载 + 编译 + 配置环境变量]


下载Python

参考链接:
  • .任意python版本下载,所有python版本下载的FTP路径

Windows下载发送到linux上

step1. 下载linux版本的python
从Python官网进入
选择Downloads - Allreleases

step2. 选择版本下载
进入到下载页面
注意点击的是Release version那一列,我们需要下载源码的package包
linux环境下安装多个任意版本的python环境_第1张图片
step3. 选择xz的压缩包下载
在Release version链接下的Files中
选择gzipped 和 xz都可以,一个是tgz压缩包一个是tar.xz压缩包。
后续都可以用tar -vxf packageName命令解压。
linux环境下安装多个任意版本的python环境_第2张图片
step4. 用mobaxterm或者其他手段将文件发送到linux服务器上

linux环境下安装多个任意版本的python环境_第3张图片

Linux上下载

step1. 根据上文的step3中
右键点击下载链接,选择选择复制链接地址
linux环境下安装多个任意版本的python环境_第4张图片
step2. 记住这个链接地址,转到终端执行如下命令
考虑到没有UI界面的情况直接给出命令
wget 下载
基本用法wget 下载链接

wget https://www.python.org/ftp/python/3.7.13/Python-3.7.13.tgz

编译安装

step 0. 安装编译依赖
这一步为可选选项,除非编译不通过才需要安装这些内容。

  • centos下安装方式
yum install -y gcc patch libffi-devel python-devel \
	zlib-devel bzip2-devel openssl-devel ncurses-devel \
	sqlite-devel readline-devel tk-devel gdbm-devel \
	db4-devel libpcap-devel xz-devel

step1. 解压压缩包

tar -xvf Python-3.10.4.tgz

step2. 编译安装

  • 进入解压目录,需要使用root权限进行安装。
  • 指定安装目录,生成makefile
    • 命令./configure something
  • 编译
    • 命令make
    • 如果要加速编译可以试试,需要硬件支持加速make -j8
  • 安装
    • 命令make install

一次性执行脚本如下

>>> su
>>> cd Python-3.10.4
>>> ./configure --prefix=/opt/python3104 && make && make install

安装完成之后会有如下提示

  WARNING: The scripts pip3 and pip3.10 are installed in '/opt/python3104/bin' which is not on PATH.  
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.  

这是说明我们还没有将python3添加到环境变量中。

step3. 添加python3至环境变量
终端输入whereis python,可以看到有个路径是usr/bin/python2.7,这是默认安装python的目录,因此我们也将我们的python添加到这个路径下。

>>> whereis python

python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 
/etc/python /usr/include/python2.7 /opt/python374/bin/python3.7 
/opt/python374/bin/python3.7-config /opt/python374/bin/python3.7m-config 
/opt/python374/bin/python3.7m /opt/python3104/bin/python3.10 
/opt/python3104/bin/python3.10-config /usr/share/man/man1/python.1.gz

在系统Path目录中添加python控制命令

>>> cd /usr/bin/
>>> ln -s /opt/python3104/bin/python3.10 python310
>>> ls -la | grep python # 查看一下是否已经有python310
>>> python310 # 执行这个命令,出现下文对话框,说明已经安装完成。

Python 3.10.4 (main, Mar 28 2022, 15:18:11) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

同样的添加pip的控制命令

>>> cd /usr/bin/
>>> ln -s /opt/python3104/bin/pip3.10 pip310
>>> ls -la | grep pip # 查看一下是否已经有pip310

>>> pip310 --version

pip 22.0.4 from /opt/python3104/lib/python3.10/site-packages/pip (python 3.10)

>>> pip310 show pip
# 关注其中location那一行,就是当前python环境安装包所处的位置。
Location: /opt/python3104/lib/python3.10/site-packages

>>> pip310 list

Package    Version
---------- -------
pip        22.0.4
setuptools 58.1.0

问题解决

问题1:SSL问题

现象:
如下报错,且pip无法安装库

WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

原因:没有安装底层SSL依赖
解决方案:

执行编译安装step0步骤后,再重新编译安装python环境
参考链接:
https://blog.csdn.net/weixin_43781229/article/details/111827939

你可能感兴趣的:(技术杂谈,python)