系统版本
umane -a
Linux ubuntu16 4.4.0-105-generic #128-Ubuntu SMP Thu Dec 14 12:42:11 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Ubuntu16.04下默认系统自带python2和Python3.5的版本,这个版本被系统很多程序所依赖,所以不建议删除,如果使用最新的Python3.6那么我们知道编译安装源码包和系统默认包之间是没有任何影响的
1、下载安装包 : wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
2、 解压文件
tar xfzPython-3.6.5.tgz
注意:这里使用xfz命令,而不建议使用-xvzf命令,因为其释放的文件夹需要root权限才可以更改或者删除。
3、进入解压的文件夹 ,添加配置
cd Python-3.6.5/
./configure "--prefix=/usr/bin/python3.6"
4、编译源码
sudo make
5、执行安装
sudo make install
安装成功后,安装的Python就在计算机/usr/bin/python3.6文件夹之中。
root@ubuntu16:~/software/Python-3.6.5# cd /usr/bin/python3.6/
root@ubuntu16:/usr/bin/python3.6# pwd
/usr/bin/python3.6
root@ubuntu16:/usr/bin/python3.6#
6、 修改默认Python版本
Ubuntu16.04版本集成了Python2.7及3.5版本,系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.7;
删除默认的连接
rm /usr/bin/python
新建python3.6的软件连接
ln -s /usr/bin/python3.6/bin/python3.6/usr/bin/python
7、python中删除键方向键不能使用
解决办法一:
手动安装:
sudo apt-get install libncurses5-dev
下载:
https://pypi.python.org/packages/source/r/readline/readline-6.2.4.1.tar.gz#md5=578237939c81fdbc2c8334d168b17907
pypi地址:https://pypi.python.org/pypi/readline
下载安装包:
wget https://files.pythonhosted.org/packages/f4/01/2cf081af8d880b44939a5f1b446551a7f8d59eae414277fd0c303757ff1b/readline-6.2.4.1.tar.gz
tar -xvf readline-6.2.4.1.tar.gz
cd readline-6.2.4.1
python setup.py install
解决办法二:
最快捷的方式:
pip install readline
其他注意事项:
还有其他说法,可能需要安装
sudo apt-get install libreadline6 libreadline6-dev
另外推荐一个命令行python编辑神器:
pip install ipython
此时运行python 会报错:AttributeError: module 'readline' has no attribute 'set_completer'
出现错误信息: error: command 'gcc' failed with exit status 1 由于没有正确安装Python开发环境导致。
sudo apt-get install python3-dev
sudo apt-get install libevent-dev
重新编译安装python3.6.5
cd Python-3.6.5/
./configure "--prefix=/usr/bin/python3.6"
make
make install
rm /usr/bin/python
ln -s /usr/bin/python3.6/bin/python3.6 /usr/bin/python
安装完python3.6.5后pip无法使用:ImportError: No module named 'pip._internal'
重装pip
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
sudo python get-pip.py