在 Ubuntu 安装 Python3.7(没有弯路)

注:当前Ubuntu版本为18.04

下载Python源码包

bash 复制代码
wget https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz

安装前准备

安装依赖组件

bash 复制代码
apt-get update

apt-get install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev wget libbz2-dev tk-dev gcc make

解压安装

解压到/usr/local/src目录

bash 复制代码
tar zvxf Python-3.7.12.tgz -C /usr/local/src
cd /usr/local/src/Python-3.7.12

编译前配置

bash 复制代码
./configure prefix=/usr/local/python3 --enable-shared

编译构建

bash 复制代码
make -j8

安装Python

bash 复制代码
make install

清理编译产出的中间文件

bash 复制代码
make clean

链接构建产出的Python可执行文件到/usr/local/bin目录

bash 复制代码
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python

链接构建产出的pip3可执行文件到/usr/local/bin目录

bash 复制代码
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip

链接构建产出的Python动态库

bash 复制代码
ln -s /usr/local/python3/lib/libpython3.7m.so.1.0 /usr/lib/libpython3.7m.so.1.0

配置动态库

bash 复制代码
ldconfig

检查

检查Python版本是否安装成功

bash 复制代码
python --version
  • 链接到/usr/local/bin/目录不会影响系统软件

  • 一般情况下,PATH配置是先/usr/local/bin再/usr/bin

  • 检查python -v输出结果是否为Python 3.7.12版本,如果不是该版本,可能影响后续依赖安装和服务运行

pypi下载源配置

pip默认是到pypi官方源下载第三方依赖包,下载速度可能会比较慢,可以考虑调整为腾讯云的pypi下载源,调整方式:

bash 复制代码
mkdir ~/.pip/
echo "[global]\nindex-url = https://mirrors.cloud.tencent.com/pypi/simple" >> ~/.pip/pip.conf
相关推荐
绿箭柠檬茶23 分钟前
Ubuntu 使用 Samba 共享文件夹
linux·运维·ubuntu
工藤新一¹1 小时前
Linux —— 虚拟进程地址空间
linux·运维·服务器·c/c++·虚拟进程地址空间
Aspiresky2 小时前
浅析Linux内核scatter-gather list实现
linux·dma·scatter/gather
奔跑吧 android2 小时前
【linux kernel 常用数据结构和设计模式】【数据结构 3】【模拟input子系统input_dev和input_handler之间的多对多关系】
linux·数据结构·input·kernel·input_dev·input_handler·input_handle
再难也得平2 小时前
Linux初级篇
linux·运维·服务器
小猫挖掘机(绝版)3 小时前
通过tailscale实现一台电脑上vscode通过ssh连接另一台电脑上的VMware Linux 虚拟机
linux·windows·vscode·ubuntu·ssh
attitude.x4 小时前
Swift 协议扩展与泛型:构建灵活、可维护的代码的艺术
运维·服务器·网络
ajassi20004 小时前
开源 C++ QT Widget 开发(十三)IPC通讯--本地套接字 (Local Socket)
linux·c++·qt·开源
止观止4 小时前
GitHub自动化利器:Probot框架实战指南
运维·自动化·github
方先森有点懒4 小时前
CentOS 7.2 虚机 ssh 登录报错在重启后无法进入系统
linux·运维·centos·ssh