背景
因为要部署yolov8项目到ubuntu系统,但是yolov8要求python版本必须大于3.10,因此ubuntu20.04自带的python3.8不可用,需自行安装python,本教程使用python源码编译式安装python3.12.3,原因是apt下载python无法指定目录,因此本教程主要内容为在Ubuntu20.04桌面版系统上编译并安装Python3.12.3且配置pip阿里镜像
大致步骤
1.官网下载源码包并解压
2.下载Python环境一些核心的库
3.初始化Python并指定路径
4.编译并安装Python
5.配置Python的环境变量
6.测试Python环境
7.配置pip镜像并指定包下载的路径
8.测试pip下载numpy并解决权限问题
9.再次测试下载numpy
步骤1:官网下载源码包并解压
进入python文件服务器官网 https://www.python.org/ftp/python/ ,我这里因为要做yolov8项目,所以我选择3.12.3版本的python,如图
然后选择.tar的压缩包进行下载,如图
下载后我将其放在了我自己期望的目录下并进行解压,我的目录路径是\home\uav\all_env ,解压后是一个Python-3.12.3的文件夹,里面的内容如图
步骤2.下载Python环境一些核心的库
按键 ctlr+alt+T 来到控制面板,首先切换为root用户,命令su root,如图
使用cd命令进入才解压的Python目录去,然后执行如下命令将相关的核心库也一并下载(这个一定要执行,不然后续用着用着报错缺少某些库就要重新编译安装Python)
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev
如图
步骤3.初始化Python并指定路径
当上面的核心库下载完后,执行如下命令初始化Python并且用prefix指定你期望的安装路径,我这里期望安装的路径为all_env/Python312Env
sudo ./configure --prefix=/home/uav/all_env/Python312Env
如图
步骤4:编译并安装Python
先后执行如下两条命令进行编译安装到刚才指定的目录
sudo make
sudo make altinstall
执行完后可以看到在我们指定的目录下已经安装好了,但是由于我们是自己指定的路径,这个的黄色字体提示我们还需要配置环境变量,如图
步骤5.配置Python的环境变量
我的用户名为uav,因此来到用户目录下,在该目录下有个隐藏文件名为.bashrc,可按照如图使其显示
进入文件在最后加上如下代码并保存,如图
export PATH=/home/uav/all_env/Python312Env/bin:$PATH
步骤6.测试Python环境
其实保存.bashrc后环境变量就已经生效了,可以在控制台测试下我们的Python3.12环境,如图可以看到有显示版本号说明已经生效了
步骤7.配置pip镜像并指定包下载的路径
直接在用户目录下创建.pip文件夹,然后cd进入.pip文件夹,创建pip.conf并添加如下内容
[global]
index-url = https://mirrors.aliyun.com/pypi/simple
target = /home/uav/all_env/Python312Env/lib/python3.12/site-packages
[install]
trusted-host = mirrors.aliyun.comsu
如图
步骤8.测试pip下载numpy并解决权限问题
我们可以通过pip3.12 install numpy测试下是否能下载包到指定的目录,如图可以看到这里提示权限不够
这是因为我们编译安装Python环境时使用了sudo命令【这里我也测试了不用sudo命令去编译安装,是会报错失败的,因为权限不够】,因此需要去将安装的Python环境目录更改为当前用户的权限【这个机制真TM的离谱啊】,解决方案如下:
来到Python环境的上一级目录,首先切换为root用户,然后执行Chown -R uav:uav Python312Env将目录及其子目录的权限和组设置为uav用户,如图
步骤9.再次测试下载numpy
然后再切换为uav用户,再次执行pip3.12 install numpy测试是否能下载包到指定目录,如图可以看到成功了
结语
至此,Ubuntu安装指定版本Python并配置pip的教程结束
暂无评论内容