ubuntu install python/python3 and pip/pip3

Ubuntu16.04默认安装了Python2.7和3.5

安装Python2+:

sudo apt-get install python

 

请注意,系统自带的python千万不能卸载!

输入命令python

按Ctrl+D退出python命令行

输入命令sudo add-apt-repository ppa:jonathonf/python-3.6

按Enter确认

输入命令sudo apt-get update

 

1
2
3
4
5
6
7
8
9
10
我使用sudo apt-get update之后,更新失败,遇到如下错误。
 
W: Failed to fetch http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu/dists/precise/main/source/Sources  404  Not Found
W: Failed to fetch http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu/dists/precise/main/binary-i386/Packages  404  Not Found
 
最终发现如下的解决方案!(PPA仓库破损而且陈旧的问题)
 
 
 
问题:我试着通过运行apt-get update命令来再次同步包索引文件,但是却出现了“404 无法找到”的错误,看起来似乎是我不能从先前添加的第三方PPA仓库中获取最新的索引。我怎样才能清除这些破损而且陈旧的PPA仓库呢?

 

  

1
sudo apt-get update | grep "Failed"

  

1
sudo add-apt-repository --remove ppa:jonathonf/python-3.6<br><br>再次执行: <br>sudo apt-get update

 

  

 

输入命令sudo apt-get install python3.6

按Y确认

 

调整Python3的优先级,使得3.6优先级较高

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2

更改默认值,python默认为Python2,现在修改为Python3

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

 

此时再输入命令python

可以看到此时已经是Python3.6了

 

 

Ubuntu下pip3的安装、升级、卸载

安装

sudo apt-get install python3-pip

sudo apt-get install python-pip

升级

sudo pip3 install --upgrade pip

 

python -m pip install --upgrade pip==9.0.3

 

如果pip默认不是pip2:

python3 -m pip install --upgrade pip --force-reinstall

python2 -m pip install --upgrade pip --force-reinstall

卸载

sudo apt-get remove python3-pip

1、卸载python3.6

sudo apt-get remove python3.6

2、卸载python3.6及其依赖

sudo apt-get remove --auto-remove python3.6

3、清除python3.6

sudo apt-get purge python3.6
or
sudo apt-get purge --auto-remove python3.6

 

 

下载 easy_install:

sudo apt-get install python-setuptools python-dev build-essential





使用pip3 出现以下错误:

Traceback (most recent call last):
File “/usr/bin/pip3”, line 9, in 
from pip import main

 

解决办法

修改 /usr/bin/pip 文件

from pip import main
if __name__ == '__main__':
sys.exit(main())
改为:

from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())


出现了错误locale.Error: unsupported locale settin

ubuntu:~# export LC_ALL=C





编译安装

1、下载 tar 包

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

2、解压 tar 包

tar xfz Python-3.6.5.tgz
 

这里使用 xfz 命令,而不建议使用 -xvzf 命令,因为其释放的文件夹需要 root 权限才可以更改或者删除。

3、进入释放的文件夹

cd Python-3.6.5/
 

4、添加配置

./configure --prefix=/usr/local/python3.6
 

要配置的是安装 Python 需要的文件夹。配置完成后,终端会显示下面一段话,可以选择无视它,不影响后续操作。

If you want a release build with all optimizations active (LTO, PGO, etc), 
please run ./configure –enable-optimizations
 

5、编译源码

sudo make
 

6、执行安装

sudo make install
 

安装过程持续几分钟,安装成功后,安装的 Python 就在 /usr/bin/python3.6 文件夹之中。

7、修改默认 Python 版本

Ubuntu16.04 版本集成了 Python2.7 及 3.5 版本,系统中原来的 python 在 /usr/bin/python,通过 ls -l 可以看到,python 是一个软链接,链接到本目录下的 python2.7

我们这里不改变原来的软连接,直接新建一个 python3.6 的软链接。

建立指向 Python3.6 的链接:

ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3.6 ##前面换成你的安装路径
 

查询 Python 版本

python3.6 –version
 

如果显示是 python3.6.5 则说明安装成功!

8、make 过程出错 [Objects_unicodeobject.o] Error

1)、问题描述

$ make && make install
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Modules/python.o ./Modules/python.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Parser/acceler.o Parser/acceler.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Parser/grammar1.o Parser/grammar1.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Parser/listnode.o Parser/listnode.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Parser/node.o Parser/node.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Parser/parser.o Parser/parser.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Parser/bitset.o Parser/bitset.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Parser/metagrammar.o Parser/metagrammar.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Parser/firstsets.o Parser/firstsets.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Parser/grammar.o Parser/grammar.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Parser/pgen.o Parser/pgen.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Parser/myreadline.o Parser/myreadline.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Parser/parsetok.o Parser/parsetok.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Parser/tokenizer.o Parser/tokenizer.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/abstract.o Objects/abstract.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/accu.o Objects/accu.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/boolobject.o Objects/boolobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/bytes_methods.o Objects/bytes_methods.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/bytearrayobject.o Objects/bytearrayobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/bytesobject.o Objects/bytesobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/cellobject.o Objects/cellobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/classobject.o Objects/classobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/codeobject.o Objects/codeobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/complexobject.o Objects/complexobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/descrobject.o Objects/descrobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/enumobject.o Objects/enumobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/exceptions.o Objects/exceptions.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/genobject.o Objects/genobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/fileobject.o Objects/fileobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/floatobject.o Objects/floatobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/frameobject.o Objects/frameobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/funcobject.o Objects/funcobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/iterobject.o Objects/iterobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/listobject.o Objects/listobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/longobject.o Objects/longobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/dictobject.o Objects/dictobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/memoryobject.o Objects/memoryobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/methodobject.o Objects/methodobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/moduleobject.o Objects/moduleobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/namespaceobject.o Objects/namespaceobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/object.o Objects/object.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/obmalloc.o Objects/obmalloc.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/capsule.o Objects/capsule.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/rangeobject.o Objects/rangeobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/setobject.o Objects/setobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/sliceobject.o Objects/sliceobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/structseq.o Objects/structseq.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/tupleobject.o Objects/tupleobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/typeobject.o Objects/typeobject.c
gcc -pthread -c -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I. -I./Include -DPy_BUILD_CORE -o Objects/unicodeobject.o Objects/unicodeobject.c
gcc: Internal error: Killed (program cc1)
Please submit a full bug report.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
make: *** [Objects/unicodeobject.o] Error 1
 

2)、解决办法

Usually, you can workaround GCC bugs by disabling optimizations. You can try to modify Makefile to replace "-O3" with "-O2" or even "-O0" (disable all optimizations), and then try to run “make” again.

修改 Makefile 文件,把‘-DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes’中的 O3 改为 O2 即可。

3)、参考

二、采用 apt-get 安装

1、添加 python3.6 的源

sudo add-apt-repository ppa:jonathonf/python-3.6
 

下面出现:

Don't remove Python 3.5 from your system - it will break.
More info: https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6
Press [ENTER] to continue or ctrl-c to cancel adding it
 

这里提示我们安装 Python 3.6 后不要删除 Python 3.5,不然的话系统会崩溃,因为 Linux 系统里面对 Pyhon 的依赖是比较多的,网上能查到很多人吐槽自己删除系统默认的 Python 版本后出现问题,不得不重新装回原来的版本,甚至重装系统的经历。我们根据提示键入 Enter 后,把 Python 3.6 的 PPA 源正式加入到源列表:

gpg: keyring `/tmp/tmpsnw0vrl9/secring.gpg' created
gpg: keyring `/tmp/tmpsnw0vrl9/pubring.gpg' created
gpg: requesting key F06FC659 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpsnw0vrl9/trustdb.gpg: trustdb created
gpg: key F06FC659: public key "Launchpad PPA for J Fernyhough" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK
 

然后执行如下命令:

sudo apt-get update
 

再次安装就可以了:

sudo apt-get install python3.6
 

如果提示如下:

E: Failed to fetch http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu/pool/main/p/python3.6/python3.6-minimal_3.6.3-1ubuntu1~16.04.york1_amd64.deb  Connection timed out

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
 

再执行一遍 apt-get install 就好了。

 

 

posted @    ̄□ ̄  阅读(3969)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示