前提
ubuntu16.04自带python2.7和python3.5,如下:
要想安装python3.6,建议不要动之前的2.7和3.5(血一般的教训)
下面我们切入正题:
安装python3.6
ubuntu下要先安装zlib的库,才能在安装python3.6.3,不然无法安装
一、zlib的安装:
- 首先用命令dpkg -l|grep zlib查看安装的zlib版本,然后不符合要求
- 当报zlib不可用时,就是没有安装zlib1g和zlib1g-dev包,而这个两个包在源镜像中不存在
- 所以需要自己去官网下载,下载地址:
- zlib1g:下载地址:
https://packages.ubuntu.com/artful/amd64/zlib1g/download - zlib1g-dev下载地址:
https://packages.ubuntu.com/artful/amd64/zlib1g-dev/download
选择欧洲链接下载
- zlib1g:下载地址:
- 然后上传到ubuntu服务器,是.deb后缀的文件,需要用到命令dpkg安装
- 然后使用以下命令安装zlib1g,后面是下载的zlib1g安装文件:
sudo dpkg -i zlib1g_1.2.11.dfsg-0ubuntu2_amd64.deb
- 然后使用以下命令安装zlib1g-dev,后面是下载的zlib1g-dev安装文件:
sudo dpkg -i zlib1g-dev_1.2.11.dfsg-0ubuntu2_amd64.deb
- 可以使用
dpkg -l|grep zlib
来查看是否成功安装
二、python3.6.3的安装
- 下载python3.6.3,下载地址:
https://www.python.org/downloads/release/python-363/
下载下来的文件名:Python-3.6.3.tgz - 编译源码安装python3.6.3,上传文件到/opt/setups/下,然后解压缩:
sudo tar zxvf Python-3.6.3.tgz
- 然后进入到解压缩生成的目录
cd Python-3.6.3
- 然后把python安装到文件夹/usr/local/python3下
sudo ./configure --prefix=/usr/local/python3
- 然后执行make命令:
sudo make
- 然后执行make install 命令安装:
sudo make install
安装成功之后,执行python会发现是系统自带的2.7,python3命令不存在,因为没有加入到可执行路径,执行以下命令将增加python3命令
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
执行python3,发现是3.6.3
三、安装pip
- 下载pip9.0.1,下载地址:https://pypi.python.org/pypi/pip
下载下来的文件名:pip-9.0.1.tar.gz - 然后上传到/ope/setups/目录下,执行命令解压缩:
sudo tar zxvf pip-9.0.1.tar.gz
- 然后进入到解压缩的目录pip-9.0.1
cd pip-9.0.1
- 然后执行安装命令:
/usr/bin/python3 setup.py install
- 安装成功,则ok,安装失败若果提示缺少setuptools模块,则需要执行以下脚本安装setuptools模块:
wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo /usr/bin/python3
然后再次执行:
/usr/bin/python3 setup.py install
- 安装成功之后,会有信息显示,pip已经安装到文件夹
/usr/local/python3/bin/pip
下 - 然后命令行中执行pip或pip3发现失败,没有这个命令,因为没有加入到命令里,需要创建软链接,执行:
sudo ln -s /usr/local/python3/bin/pip /usr/bin/pip
如果提示/usr/bin/pip已存在,则执行命令:
rm /usr/bin/pip
删除然后再次执行:
sudo ln -s /usr/local/python3/bin/pip /usr/bin/pip
- 然后执行命令查看是否是在python3中:
sudo pip --version
- 若ok说明已安装成功,此时执行以下命令安装requests模块试试:
pip install requests
四、报错
pip安装install的时候报错’lsb_release -a’
- 当执行sudo pip install requests时报以下错误:
- 处理方法是:
找到文件
/usr/bin/lsb_release
AND
sudo vim /usr/bin/lsb_release
然后发现第一行是:#!/usr/bin/python3 -Es
使用的是python3的,刚好我们安装时python3.6.3的软连接就是/usr/bin/python3
,然而python3.6.3不支持lsb_release -a命令,所有就会报那个错误;但是系统自带的python3.5支持这个命令, 所以把这个解释器换成3.5所在的执行路径,查看ll /usr/bin/python3.5是有的,所以把文件/usr/bin/lsb_release的第一行换成:#!/usr/bin/python3.5 -Es
然后在执行命令:
sudo pip install requests
pip install库的时候的提示Can’t connect to HTTPS URL because the SSL module is not available
- 大概是因为安装过程需要SSL,但是没有找到
- 所以尝试再次安装。
sudo apt-get install openssl
sudo apt-get install libssl-dev
- 然后对python3.6重新编译安装
cd Python-3.6.2
sudo ./configure --with-ssl --prefix=/usr/local/python3
(安装的路径一定要和第一次一样)
sudo make
sudo make install
- 尝试pip install requests`,成功!!!
折腾了一天。。。
部分转自:https://zhuanlan.zhihu.com/p/32131337utm_source=wechat_session&utm_medium=social