在Linux上装其他版本的python时遇到的问题汇总

最近新装了Manjaro,但是系统自带的python为3.8版本的,在运行一些代码时需要低版本的python,所以就装了一个python3.6。

第一步:在官网上下载需要的python版本源码 https://www.python.org/downloads/source/

第二步:将源码移动到安装路径出,本文中是 /usr/local/ 然后解压到此处

第三步:cd 到解压的文件处,编译安装

cd Python3.6
./configure --prefix=/usr/local/python3
make && make install

 第四步:建立链接

sudo ln -s /usr/local/python3.6/bin/python3.6 /usr/bin/python3

 =====================================================================================

最近使用了Ubuntu16.04做实验,发现代码必须使用python3.5以上版本的,但是自带的为python3.5,自己便按上述方法装了新的python3.7,但是安装后发现终端无法打开。查找博客以后发现可以使用下面的方法解决该问题。

cd /usr/lib/python3/dist-packages/gi/
cp _gi_cairo.cpython-35m-x86_64-linux-g _gi_cairo.cpython-37m-x86_64-linux-g
cp _gi.cpython-35m-x86_64-linux-gnu.so  _gi.cpython-37m-x86_64-linux-gnu.so

既是进入/usr/lib/python3/dist-packages/gi/

然后将

    _gi_cairo.cpython-35m-x86_64-linux-g
    _gi.cpython-35m-x86_64-linux-gnu.so

将其名称中的35改为37即可。

=========================================================================

【在使用pip时ssl module in python is not available】

在Ubuntu16.04中安装新版本python后在使用pip时发现没有openssl。解决方法链接为:https://www.jianshu.com/p/553f9237576c

这是由于Ubuntu默认安装时没有包括SSL相关的Library。解决方式如下

sudo apt install python-dev
sudo apt install libffi-dev
sudo apt install libssl-dev

还有其他相关的包建议一次安装,不然后来用得到的是还需要重新安装。

sudo apt install libxml2-dev libxslt-dev libmysqlclient-dev libsqlite3-dev zlib1g-dev
原文地址:https://www.cnblogs.com/wangling1820/p/12346958.html