ubuntu16.04安装python3.7

##2018/09/08

下载安装包

sudo apt-get axel
#安装axel,以从网站直接下载压缩包
axel https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar -xvf Python-3.7.0.tar.xz
#解压

##一些辅助软件更新安装

博主直接安装时候会出现两个报错。得分别解决。

  • ###zipimport.ZipImportError:can’t decompress data
    对于错误:zipimport.ZipImportError: can’t decompress data,是因为缺少zlib 的相关工具包导致。

apt-get install zlib*
vim ./Module/Setup
#进入后找到#zlibzlibmodule.c-I$(prefix)/include-L$(exec_prefix)/lib -lz去掉注释"#"

该问题解决。

  • ###ModuleNotFoundError: No module named ‘_ctypes’

可通过安装libffi(-dev[el])解决。
有两种方式:(以下推荐用root操作)

  • 一:

apt install libffi-dev
#有人说这是不完全的安装方式,更周全的应该如下:
sudo apt install -y build-essential libncursesw5-dev libgdbm-dev libc6-dev zlib1g zlib1g-dev libsqlite3-dev tk-dev libssl-dev openssl libffi-dev python3-dev python3-smbus
#这个的问题是这行命令之后会报错,而报错的解决和DNS有关,比较麻烦,博主并未深究此。这行命令不影响3.7的使用。

参考:https://blog.csdn.net/jaket5219999/article/details/80894517


- 二
>sudo apt-get update

sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
#这个可是把你的软件都更新了,比较叼?所以并不是很推荐

参考:https://stackoverflow.com/questions/27022373/python3-importerror-no-module-named-ctypes-when-using-value-from-module-mul

##编译以及安装

./configure
make
sudo make altinstall

##检验是否安装成功

python3.7

出现以下表示ok:
这里写图片描述
#以上输入[Ctrl]+d退出python3.7界面。

##把3.7设为python默认

#删除/usr/bin目录下的python link文件
sudo rm -rf /usr/bin/python
#删除后再建立新的链接关系
sudo ln -s /usr/bin/python3 /usr/bin/python
#博主在/user/bin/没发现python3,但是在这儿:sudo ln -s /usr/bin/python-3.7.0/bin/python3.7 /usr/bin/python (这玩意得自己找,比如博主另外一个虚拟机他的位置不在以上两处,但是怎么说呢,不管cp还是怎么,你最好把python3.7的整个文件夹放在/usr/bin下,再建立连接,心累T_T!)

此时再输入python出来的就是:python3.7。同理你把/usr/bin下面的python3也可以进行同样的才操作,这样输入pytho3也是3.7。但其实并没删除2.7或3.5,相似操作可以恢复。

你可能感兴趣的:(python,linux)