转载自:https://blog.csdn.net/weixin_35977784/article/details/112037612(感谢大佬)

一般的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了。