如果你冲动删除了python

在你经历了痛苦的pip安装, 各种报错之后. 一气之前, 你决定卸载python, 重新安装. 那么, 既然要卸载, 就要卸载的彻底!

所以你输入了下面的几行命令

#hahaha
$sudo apt remove python
$sudo apt remove python3
$sudo apt remove pip
$sudo apt remove pip3
#一定删除的不彻底, 我要彻底删除
$sudo apt autoremove -f 
看到要删除600+M, 毅然决然的按了 y.

Bingo 然后你看到了我这篇文章.

一、基础知识 #

1. 重新安装python和pip #

1.1 安装python #

由于ubuntu16.04默认安装的python版本是 python2.7python3.5 .

所以为了满足系统的需要, 我们需要重新安装python2.7 和 python3.5.

安装方式很简单:

#安装python2.7和python3.5
$sudo apt install python  # 默认安装的python2.7
$sudo apt install python3 # 默认安装的python3.5

除此之外, 我们还需要安装一些python的dev库 , 因为系统和很多软件运行时都依赖它(这也是我们删除python 并 autoremove后, 发现系统gg的一部分原因)

安装方式同样很简单:

#安装dev库
$sudo apt install libpython2.7 libpython2.7-dev
$sudo apt install libpython3.5 libpython3.5-dev

注意: 虽然系统的apt源不直接提供python3.6以及更高版本的python程序. 但是提供了python全版本的libdev库.

所以, 如果你想要安装libpython3.6的话, 也是可以的:

#安装python3.6的dev库
$sudo apt install libpython3.6 

但是如果想要安装python3.6及以上的包, 该怎么办呢?

方法有很多, 这里推荐源安装的方式 :

可以参考( https://linuxize.com/post/how-to-install-python-3-7-on-ubuntu-18-04/)

具体操作:

# 安装python3.6 above
$sudo apt update
$sudo apt install software-properties-common

$sudo add-apt-repository ppa:deadsnakes/ppa   #加入python源, 并按[enter]确认

$sudo apt update      # 之后重新更新我们的源库

# 现在就可以安装python的其他版本了
$sudo apt install python3.6       # 例如你想安装python3.6

1.2 安装pip #

安装pip, 这里只推荐一种方式:

参照官方安装文档: https://pip.pypa.io/en/stable/installing/

首先, 下载get-pip.py :

#使用curl命令(如果未安装, 先{sudo apt install curl}) 来下载get-pip.py  
$curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载get-pip.py

然后, 安装你需要的pip版本 , (注意: 这里有全局安装user安装 两种方式) :

#安装pip3.6
$ sudo python3.6 get-pip.py    # 全局安装

$ python3.6 get-pip.py --user  # user安装

2. pip使用 #

2.1 全局安装package和user安装package #

我们在使用pip 安装 package 时, 有两种选择:

  1. 全局安装 package, 对所有系统用户生效
 
$sudo pip2.7 install {package}   # python2.7使用pip2.7安装package 
$sudo pip3.5 install {package}   # python3.5使用pip3.5安装package 
  1. user安装 package, 只对user(当前用户生效)
#
$pip2.7 install --user {package} 
$pip3.5 install --user {package}

相信sudo和**–user**大家一眼就可以看到.

那么除了这两个地方的不同, 还有哪些不同值得我们了解的呢?

2.2 两种安装package方式的不同 #

dist-packages : 这是我们package安装后的存放目录.

肯定地, 全局安装user安装package存放路径是不同的 .

  1. 全局安装时的package存放路径:
# 
$sudo pip3.6 --version
pip 19.0.3 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
  1. user安装时的package存放路径:
#
$ pwd             # 查看当前绝对路径
/home/l0phtg

$ pip3.6 install --user neovim  # 注意这里显示的路径是相对路径
Requirement already satisfied: neovim in ./.local/lib/python3.6/site-packages (0.3.1)
Requirement already satisfied: pynvim>=0.3.1 in ./.local/lib/python3.6/site-packages (from neovim) (0.3.2)
Requirement already satisfied: msgpack>=0.5.0 in ./.local/lib/python3.6/site-packages (from pynvim>=0.3.1->neovim) (0.6.1)
Requirement already satisfied: greenlet in ./.local/lib/python3.6/site-packages (from pynvim>=0.3.1->neovim) (0.4.15)

user安装python3.6的package时, package 默认存放在了 ~/.local/lib/python3.6/site-packages .路径下.

二、 安装被你意外删掉的库 #

在安装了前面所需的python2.7, python3.5, pip2.7, pip3.5, libpython2.7, libpython2.7-dev, libpython3.5, libpython3.5-dev 之后, 你需要安装ubuntu系统的一些库.

ubuntu系统所需的库为ubuntu-minimal, ubuntu-standard, ubuntu-desktop .

$sudo apt install ubuntu-minimal ubuntu-standard ubuntu-desktop

这时, 系统就已经可以正常启动, 并正常进入和显示桌面 了.

最后, 因为你的操作, 可能导致一些三方应用不能启动 , 这时你只能自行重装了.

我这里已经知道的影响到的三方软件为: Chrome浏览器, wps.