问题描述:
作为一枚python小白,看完《简明 Python 教程》之后,在网上找了份爬虫代码,当执行时代码时,遇到ImportError: No module named requests,之后对python进行升级,为了能够用上requests。遇到一系列问题。
问题如下:
1. ImportError: No module named requests(python 2.6.6);
2. zipimport.ZipImportError: can't decompress data(升级之后);
3. python命令行无法使用退格键、方向键;
4. pip: command not found;
5. ImportError: No module named _ssl;
6. You are using pip version 9.0.1, however version 10.0.1 is available;
操作指南:
不建议卸载默认python版本,本人在卸载默认python版本之后出现了问题2.
为了避免后面出现问题4,5
1. 查看openssl安装包
[primo@master ~]$ rpm -aq|grep openssl
openssl-1.0.1e-15.el6.x86_64
2. yum安装openssl-devel
[root@master ~]# yum install openssl-devel -y
再次查看openssl安装包会发现多了一个
[root@master ~]# rpm -aq|grep openssl
openssl-devel-1.0.1e-57.el6.x86_64
openssl-1.0.1e-57.el6.x86_64
步骤1,2 避免了后面出现问题5
参考:http://www.cnblogs.com/yuechaotian/archive/2013/06/03/3115472.html
3. 避免问题4,以及节约时间
yum install readline-devel
当然这一步也可以在升级完python之后再操作,之是需要再次做如下操作:
./configure --prefix=/usr/local/python36
make && make install
参考:1. https://www.aliyun.com/jiaocheng/453107.html
2. https://blog.csdn.net/xushuai110/article/details/50525232(该博文虽列出多条解决方法,但本人在试验的时候遇到error: command 'gcc' failed with exit status 1)
4. 下载Python安装包
[root@master ~]# cd /usr/local/src/
[root@master src]# wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
5. 以root权限打开终端,进入安装包的存放路径,解压安装包
tar -xzvf Python-3.6.0.tgz
6. 进入解压好的安装包路径
cd Python-3.6.0
7. 编译安装包,指定安装路径,并执行安装命令
./configure --prefix=/usr/local/python36
make && make install
8. 修改系统默认的Python路径,因为在终端中输入Python命令时默认是指向Python2.6.6
mv /usr/bin/python /usr/bin/python-2.6.6
9. 建立新的软连接,指向Python-3.6.0
ln -s /usr/local/python36/bin/python3.6 /usr/bin/python
10. 因为yum是依赖python的,所以这里我们修改了默认的python,就要要修改yum,让其运行指向旧的版本
vi /usr/bin/yum
将第一行中的“#!/usr/bin/python”
修改为“#!/usr/bin/python-2.6.6”,保存即可
参考:https://blog.csdn.net/u014749862/article/details/54429756
11. 安装pip
查看pip版本(验证pip是否安装)
[root@master Python-3.6.0]# pip -V
bash: pip: command not found
[root@master Python-3.6.0]# find / -name pip
/usr/local/python36/lib/python3.6/site-packages/pip
/usr/local/python36/bin/pip
/usr/local/src/Python-3.6.0/Tools/msi/pip
/root/.cache/pip
方法一:获取安装包
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
参考:https://pip.pypa.io/en/stable/installing/
方法二:
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9
tar zxf pip-9.0.1.tar.gz
cd pip-9.0.1
python setup.py install
参考:https://www.cnblogs.com/thong2006/p/6843633.html
建立软链接(解决问题4)
ln -s /usr/local/python36/bin/pip /usr/bin/pip
参考:https://blog.csdn.net/gaoge_/article/details/77718916
方法二在执行pip install requests操作时会遇到问题6,而方法一有效的避免了问题6
如按方法二操作,解决参考:https://www.zhihu.com/question/41371609
12. 安装 Requests(问题1)
pip install requests
参考:http://docs.python-requests.org/zh_CN/latest/user/install.html#install
整个操作到此完成