linux环境更新默认python2.7为python3.X

一般的linux系统都会自带python环境,默认都是python2.7,但是python2.7已经不开源,不维护了,并且python3已经成为主流。学习python或者从事python工作当然要在python3环境下敲代码。

在linux系统里,python2和python3可以共存,但是不要试图删除旧版本的python2,因为linux的一些工具依赖python2.7。不是高人切不可删除。

一、安装python3

1、wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz   下载python

2、tar zxvf Python-3.6.3.tgz  解压

3、cd Python-3.6.3  

4、./configure --prefix=/usr/local/python3.6 5、指定安装路径
6、make 编译
7、make install  安装

按照步骤应该没什么问题,在命令行输入python看看版本。 可是依然显示python2.7。

我们需要改变这种默认。为新安装的python3建立软链接

mv /usr/bin/python /usr/bin/python.bak  删除原来指向python2的软链接

ln -s /usr/local/python3.6/bin/python3.6 /usr/bin/python   

现在你输入python 就可以看到是 python3了。

二、安装pip3

1、apt-get install python3-pip

如果安装失败,提示没有python3-pip,就更新下apt源。 apt-get update

再执行刚才的安装命令。

2、此时不出问题就安装成功了,但是安装的pip3版本太旧是pip 8.1.1版本的需要更新一下版本 pip3 install --upgrade pip

3、更新的版本是pip 18.0,但是用pip3 install xxx安装东西的时候会报错

ImportError: cannot import name 'main'

解决方案:

修改pip3文件 vim /usr/bin/pip3

打开后面三行是这样的:

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

改成这样保存退出

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

退出linux终端然后再连接就可以用pip3了。

如此这般折腾,用pip3 install scrapy 安装的scrapy的运行环境就是python3了。

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1atp6zmmel7wi

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏闵开慧

eclipse中执行程序显示找不到主类

eclipse中执行程序显示找不到主类 这种情况一般出现在工程中已编译有class文件的java文件,而后面新建的java则不会出现问题。这种情况说明工程bin...

38450
来自专栏章鱼的慢慢技术路

Unity Package Manager Error的解决方案

50550
来自专栏ytkah

finecms如何批量替换文章中的关键词?

  Finecms批量替换文章关键词要怎么操作呢,比如把关键词A换为B?Finecms是免费开源无商业限制的内容管理系统,个人在维护,但二次开发很灵活,我们可以...

35830
来自专栏北京马哥教育

Linux中find命令用法全汇总,看完就没有不会用的!

Linux 查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令。查找可以在各种条件下使用...

1.2K40
来自专栏北京马哥教育

Linux中find命令用法全汇总,看完就没有不会用的!

糖豆贴心提醒,本文阅读时间7分钟 Linux 查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录...

33630
来自专栏linux运维学习

linux学习第四十三篇:LNMP架构介绍,mysql安装,php安装,Nginx介绍

LNMP架构介绍 和LAMP不同的是,提供web服务的是Nginx,并且php是作为一个独立服务存在的,这个服务叫做php-fpm,Nginx直接处理静态请求...

29460
来自专栏小狼的世界

Linux系统管理员应该知道的journalctl知识

通过--since和--until选项,可以过滤任意时间限制,显示指定条件之前、之后或之间的日志。

24560
来自专栏PHP实战技术

微信开发中网页授权access_token与基础支持的access_token异同

问题1:网页授权access_token与分享的jssdk中的access_token一样吗? 答:不一样。网页授权access_token 是一次性的,而基础...

41080
来自专栏前端小叙

内网映射到外网方法收集

一、nat123 二、ngrok 官网服务器被墙了 不能使用,显示reconnecting,可以使用自己搭建的服务器来试  三、花生壳 四、frp  htt...

515100
来自专栏一枝花算不算浪漫

[Linux基础]Linux基础知识入门及常见命令.

43370

扫码关注云+社区

领取腾讯云代金券