升级或安装Python3.x

升级或安装Python3.x

安装依赖库

  • Centos
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libdb4-devel libpcap-devel xz-devel libffi-devel
  • Ubunut

    • 可以直接使用apt安装
    • 源码安装(后面make的时候可能需要依赖)
    sudo apt-get install libffi-devel
    

下载Python源码

https://www.python.org/downloads/source/

或者

https://www.python.org/ftp/python/
  • 找到你需要的版本
  • 使用wget下载

例如:3.7.4

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

解压

tar zxvf Python-3.7.4rc2.tgz

编译

进入目录

cd Python-3.7.4

里面一般有一个README.rst文件,也介绍了安装方式

  • 执行配置(configure shell脚本)生成Makefile(构建文件)

    ./configure --prefix=/usr/local/python37 --enable-optimizations --with-ssl
    

如果提示没有c的环境,请安装

sudo apt-get install gcc
  • 构建和安装

    不是root用户加上sudo,升级的话建议直接切换root

    make && make install

  • 配置PATH环境变量

    • vim /etc/profile不是root用户加sudo
    • 加入export PATH=$PATH:/usr/local/python37/bin
    • 激活source /etc/profile
  • 注册软连接(不是必须的)

ln -s /usr/local/python37/bin/python3 /usr/bin/python3

测试

# 注册了软连接
python3 --version

# 没有注册软连接的话
pyhton3.x.x --version

对于pyhton3 -m venv venv

出现Error: Command '['/home/tj001/env/ls_env/bin/python3.7', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.

这是在虚拟机上遇到的情况

不知是不是pip版本过高导致的

  • 创建时加上--without-pip就不装pip
    • 示例python3 -m venv venv --without-pip
  • 激活环境source venv/bin/activate
  • 安装pip
    • curl https://bootstrap.pypa.io/get-pip.py | python
  • 完成
发布了53 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42874994/article/details/103723847