Han Xu's blogs
  • 🥳欢迎!
  • Linux
    • 【Linux_install】详细的Ubuntu和win双系统安装指南
    • 【Linux】分区向左扩容的方法
    • 【Linux】挂载硬盘并设置开机自动挂载
    • 【Linux】grub命令行引导进入windows系统
    • 【Linux】python版本控制和环境管理
    • 【Linux】安装n卡驱动,美化gnome
    • 【Linux】gnome桌面环境切换KDE Plasma
  • python
    • 【matplotlib教程】数据可视化
    • 【python】实战:大批量数据的处理和拟合
    • 【Python爬虫】批量爬取图片的简单案例
    • 【scikit-opt】七大启发式算法的使用
    • 【综合评价方法】常见综合评价方法及其实现
    • 【python教程】打包和发布自己的项目,让别人去pip
    • 【PyTorch】n卡驱动、CUDA Toolkit、cuDNN全解安装教程
    • 【Pytorch教程】迅速入门Pytorch深度学习框架
    • 【稀疏矩阵】使用torch.sparse模块
  • C_C++
    • 【CMake】掌握CMake基本操作
    • 【计算机二级C++】题目与C++知识自检
  • matlab
    • 【Matlab】基础教程
  • 🤖ROS
    • 【ROS教程】安装ROS全流程及可能遇到的问题
    • 【ROS教程】用CLion编译和调试ROS包的全流程及可能遇到的问题
    • 【ROS教程】ROS文件系统和基础架构
    • 【ROS教程】ROS常用命令
    • 【ROS教程】话题通信
    • 【ROS教程】服务通信
    • 【ROS教程】ROS常用API讲解
    • 【ROS教程】编写launch文件
  • 📷Computer_Vision
    • Novel_View_Synthesis
      • 【NeRF】由浅入深介绍Neural_Radiance_Fields
      • 【CameraPoseRefinement】以BARF为例介绍三维重建中的位姿优化
      • 【3DGS】从新视角合成到3D_Gaussian_Splatting
      • 【NeRF】截至2024.12NeRF系列工作总结
    • SLAM
      • 【Survey】截至2024.12SLAM系列工作总结
    • OpenCV
      • 【OpenCV教程合集】一文入门和精通OpenCV(C_C++)
      • 【OpenCV教程】OpenCV中的数据类型
      • 【OpenCV教程】OpenCV中对矩阵的常用操作
      • 【OpenCV教程】对图像的各种常用操作
      • 【OpenCV教程】滤波和边缘检测的过程
      • 【OpenCV教程】如何优雅地画出一个几何图形
      • 【OpenCV教程】Trackbar到底怎么用?
      • 【OpenCV教程】轮廓检测过程
      • 【OpenCV教程】特征工程
  • 🗑️杂七杂八的~
    • 【LaTex、markdown】常用语法写出漂亮的blog
    • 【git教程】快速掌握git
    • 【Internet Protocol】ip介绍,如何组局域网实现远程桌面和文件共享
    • 《周易》:大衍筮法
    • 【PyCharm】解决虚拟环境pip无法使用问题
    • 【git】解决能访问github但克隆不了的问题
    • 【Windows终端美化】为什么你的终端千篇一律?
Powered by GitBook
On this page
  • 1.查看目前python的版本
  • 2.添加软件源并更新
  • 3.选择你想要下载的版本
  • 4.警示:没必要设置默认版本
  • 误区
  • 千万千万不要覆盖python3软链接
  • 解决办法
  • 5.pip软件包管理
  • 最省心
  • 稍微麻烦
  • 换源

Was this helpful?

  1. Linux

【Linux】python版本控制和环境管理

Previous【Linux】grub命令行引导进入windows系统Next【Linux】安装n卡驱动,美化gnome

Last updated 9 months ago

Was this helpful?

@


网上有很多教程都是教导小白去官方下载之后编译安装。但是,小白连cmake是什么都不知道,这种教导方式实在是误人子弟。这里作者介绍了一种十分简洁的更新方法。

1.查看目前python的版本

python --version

应该有类似如下的输出:

Python 3.9.18

2.添加软件源并更新

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update

这两个指令可以赋予我们下载更高版本python的能力

3.选择你想要下载的版本

譬如,我想要下载python3.9:

sudo apt install python3.9

另外,python3.10比python3.9更新,因为10比9大。

4.警示:没必要设置默认版本

为什么我们在命令行输入python --version就可以查看版本呢?这是因为在/usr/bin/目录下存在名为python的软链接,软链接其实就是链接对象的快捷方式。

Ubuntu22.04的默认python版本是3.10,输入以下指令查看目前的软链接方式:

ls -l /usr/bin/python*

应该有类似如下的输出:

lrwxrwxrwx 1 root root      18  1月 20 14:52 /usr/bin/python -> python3.10
lrwxrwxrwx 1 root root      10  8月 18  2022 /usr/bin/python3 -> python3.10
-rwxr-xr-x 1 root root 5904904 11月 20 23:14 /usr/bin/python3.10
-rwxr-xr-x 1 root root 5294896  8月 25 21:20 /usr/bin/python3.9

可以看到,目前在/usr/bin/目录下有两个软链接:python和python3。这两个软链接都指向了Ubuntu22.04默认的python3.10。

此外,我们也看到了我们刚刚安装的python3.9。

误区

网上有些错误的教程指示我们重建软链接,把它指向python3.9,这是没什么用的。如下面这行指令:

sudo ln -snf /usr/bin/python3.9 /usr/bin/python

稍微解释一下:-snf表示修改软链接,第一个参数是源文件,第二个参数是生成的快捷方式的位置。

这样做,只能使终端中的默认的python版本改为python3.9:

han@han-ASUS-TUF-Gaming-F15-FX507ZR:~$ python --version
Python 3.9.18

但是,我们后续使用sudo apt install python3-pip安装pip之后,pip下载的包默认还是给python3.10的!

千万千万不要覆盖python3软链接

如果你把指令错误输入成:

sudo ln -snf /usr/bin/python3.9 /usr/bin/python3

由于你覆盖了python3这个软链接的目标python3.10,而你的系统有很多是基于python3.10的,你的终端就打不开了!!!

解决办法

如果你有IDE的话,还可以打开IDE的终端,然后恢复python3软链接的目标:

sudo ln -snf /usr/bin/python3.10 /usr/bin/python3

5.pip软件包管理

最省心

sudo apt install python3-pip

这样做的话,以后pip默认安装的包是给python3.10的。当然,如果我们想要给我们自己的python3.9安装软件包的话,就需要多一点字数:

python3.9 -m pip install <name of package>

稍微麻烦

如果想要以后pip下载的包默认给我们自己的python3.9使用,需要:在pycharm这款IDE里面选择了之后,直接点击安装pip,如下图:

然后在终端中查看pip版本,可以看到绑定了我们想要的python版本,这样以后pip安装的包也属于python3.9了:

han@han-ASUS-TUF-Gaming-F15-FX507ZR:~$ pip --version
pip 20.3.4 from /usr/local/lib/python3.9/dist-packages/pip (python 3.9)

换源

切换pip下载源为国内源,提高下载速度:

han@han-ASUS-TUF-Gaming-F15-FX507ZR:~$ pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
Writing to /home/han/.config/pip/pip.conf

显示自动写入了路径/home/han/.config/pip/pip.conf。当然也可以手动创建这个文件然后更改。

在这里插入图片描述
在这里插入图片描述
TOC