deepin中安装和卸载python
python卸载
deepin系统会自带两个版本的python,分别为python2和python3,以deepin20.2.3为例,系统自带的python版本为python2.7.6和python3.7.3。有时我么们想把它们卸载然后安装自己喜欢版本,可参考以下方法。
首先,我们要确定不同版本python对应的应用程序名称,按ctrl+alt+T打开终端,输入python,会发现进入了python2.7.6,然后退出输入python3,进入了python3.7.3。
由此,我们开始卸载python:
1 | sudo apt-get remove python |
python2.7.6卸载成功,接下来卸载python3.7.3。
1 | sudo apt-get remove python3 |
python3.7.3卸载成功。但是,此刻你会发现(或者重启之后),桌面消失了,文件管理器也不在了。经过一番试验之后得出结论:
- 卸载python2.7.6会导致桌面黑屏
- 卸载python3.7.3会导致文件管理器消失
此刻,也无需担心,只需要执行以下指令即可恢复:
1 | sudo apt-get install dde # 下载桌面 |
下载之后重启系统,问题解决。
此时你会发现python2.7.6和python3.7.3又全都安装回来了,所以,我们还是不要动系统自带的python。如果不想用它的python,也可以自行下载。
python下载
这里以下载python3.7.0为例。
更新apt,安装编译需要的组件
1 | sudo apt update |
下载python3.7.0
从官网下载压缩包,然后cd到指定目录进行解压。
1 | tar -xvf Python-3.7.0.tgz |
切换到解压后的Python-3.7.0目录,执行configure配置构建文件,注意要指定–with-ssl,否则安装完后使用pip install的时候可能会报错。
1 | ./configure --enable-optimizations --with-ssl |
然后编译,可能要花不少时间。
1 | make -j8 |
在编译期间,可能会报错说ssl连接太弱,到现在也不知道是什么原因。只要中断就再执行,总会成功的。
安装:
1 | sudo make altinstall |
安装完成后执行清理:
1 | sudo make clean |
然后,输入python3.7,如果能进入shell就成功了。
注意:当系统中存在多个python版本的时候,包的管理可能会发生混乱,可以通过python的虚拟环境来解决这个问题。
pip下载
当系统上同时存在python2和python3时,pip默认为python2的包管理工具,pip3默认为python3的包管理工具。
下载pip:
1 | sudo apt-get install python-pip |
下载pip3:
1 | sudo apt-get install python3-pip |
更换pip的下载源
新建配置文件:
1 | sudo vim /etc/pip.conf |
添加如下内容:
1 | [global] |
然后:wq保存并退出。
pip安装包时遇到的问题
1、pip安装Pillow报错:The headers or library files could not be found for jpeg, a required dependency when compiling Pillow from source.
报错原因是缺少Pillow的依赖,执行以下命令即可解决:
1 | sudo apt-get install libjpeg-dev zlib1g-dev |
2、安装某些库(dlib,onnxruntime)时会出现cmake报错,原因是系统没有安装cmake:
1 | sudo apt-get install cmake |
问题解决