转载自: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了。