0
点赞
收藏
分享

微信扫一扫

ubuntu16安装python3.7

Sky飞羽 2022-05-04 阅读 152

1. 下载 python3.7.1

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1rc2.tgz

2. 解压

tar xvf Python-3.7.1rc2.tgz

3. 安装编译依赖

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev

4. 配置、编译

cd Python-3.7.1rc2
# 配置安装路径等
./configure --prefix=/usr/local/python3.7 --enable-optimizations --with-ensurepip=install
# 编译
make

5. 安装

# 正常编译,会创建软链接
sudo make install
# 不创建软链接
sudo make altinstall

6. 为新安装的python创建软链接

ll /usr/local/python3.7/bin

运行上面命令查看安装后的可执行文件,其中python3.7是指向python3.7的软链接,pip3.7是指向pip3.7的软链接,只需要在/usr/bin/目录下添加这两个文件的软链接即可,删除原来的软链接,然后重新指定即可

# 删除
sudo rm /usr/bin/python3
sudo rm /usr/bin/python
sudo rm /usr/bin/pip3
sudo rm /usr/bin/pip
# 创建软链接
sudo ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python
sudo ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3
sudo ln -s /usr/local/python3.7/bin/pip3.7 /usr/bin/pip3
sudo ln -s /usr/local/python3.7/bin/pip3.7 /usr/bin/pip

配置完成后python3就是指python3.7.1了

6. 重新配置 update-alternatives

删除 update-alternatives 列表中的所以选项然后重新添加

7. 补充

自己在 ubuntu 上安装的 python 会缺少 lsb_release.py 所以要运行下面命令,将 lsb_release.py 拷贝过来

sudo cp /usr/lib/python3/dist-packages/lsb_release.py /usr/local/python3.7/lib/python3.7

自己安装 python 并替代掉默认的 python 可能会导致终端打不开,原因是没有_gi这个库,然后你把原来系统中的库改个名就可以了

cd /usr/lib/python3/dist-packages/gi/
# 下面的35 改成37 表示从py3.5 改到py3.7,如果安装的是3.6就改成36
sudo cp _gi_cairo.cpython-35m-x86_64-linux-gnu.so  _gi_cairo.cpython-37m-x86_64-linux-gnu.so
sudo cp _gi.cpython-35m-x86_64-linux-gnu.so _gi.cpython-37m-x86_64-linux-gnu.so

如果 python 安装到是默认目录,这样应该就好了,如果没有安装到默认路径,就把整个gi拷贝到 /usr/local/python3.7/bin/python3.7 下对应目录就OK

$ cp -r /usr/lib/python3/dist-packages/gi /usr/local/python3.7/bin/python3.7/site-packages/
usr/lib/python3/dist-packages/gi /usr/local/python3.7/bin/python3.7/site-packages/
举报

相关推荐

0 条评论