您的位置:首页 > 运维架构 > Linux

虚拟机CentOS7安装python3.6.2及requests模块的问题汇总

2017-08-12 14:01 483 查看
直接开门见山的说了。

1.在虚拟机上安装完成CentOS7后要先装上或者更新gcc、g++版本。

yum install  gcc
yum install gcc-c++


2.python的官网下载对应的python源码,解压后进行编译,我存放的目录是/usr/local/python3.6.2下,

cd 到python3.6.2,编译三部曲,你懂的!输入命令:

./configure --prefix=/usr/local/python3.6.2
make
make install


此时你会遇到第一个问题!!

3.第一个问题是:“zipimport.ZipImportError: can’t decompress data; zlib not available”!

百度了一下,网上建议说是去Moduel文件夹下把Setup里面的

#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz


去掉注释。但是在你去掉注释之后还是会遇到问题,发现找不到zlib.h头文件。所以!!!建议在第二步之前先进行zlib的编译工作!

怎么编译zlib呢?

cd /Modules/zlib目录,依旧是编译三部曲

./configure
make
make install


如果make不了,那直接make install

4.对python3进行软连接

-s = soft,意为软链接 -f = force,表示强制创建(使用前请备份之前存在文件

# sudo ln -fs /usr/local/python3.6.2/bin/python3 /usr/bin/python


更改环境变量:

全局修改: 修改/etc/profile文件,加入:

export PATH=$PATH:/usr/local/python3.6.2/bin


更改yum文件的python版本

cd /usr/bin/yum


将原来的
#!/usr/bin/python2
改为

#!/usr/bin/python2.7


还有一个地方,在你进行下载更新软件的时候会遇到,

/usr/libexec/urlgrabber-ext-down

此处的改法跟yum文件一致!

5.此时,你已经可以在终端里输入python:

Python 3.6.2 (default, Aug 12 2017, 12:37:58)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.


下载好requests安装包,解压,然后执行pip install requests,报错:

import _ssl             # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'


这个问题很纠结很纠结!可能在这个问题之前你可能还会遇到”bash:没有pip这个命令… “。进行软连接“
ln -s /usr/local/python3.6.2/bin/pip3.6 /usr/bin/pip
”。我最后一次安装成功的时候好像没有遇到这个问题。PS我已经折腾两三天了。

6.ModuleNotFoundError: No module named ‘_ssl’这个问题我也百度了,网上说的都是千篇一律的答案:找不到ssl模块

安装它上面的做法还是没有用。如何解决呢?

1.确认并安装openssl

rpm -aq|grep openssl
yum install openssl -y
yum install openssl-devel -y


2.重新编译python,这个步骤你要吐的我不知道重新编译了多少次(相对整个安装过程)

3 输入命令

find / -iname _ssl.so


会看到_ssl.so文件在的位置:`/usr/lib64/python2.7/lib-dynload/_ssl.so`


然后将这个_ssl.so文件复制到对应的python3.6.2里
cp /usr/lib64/python2.7/lib-dynload/_ssl.so /usr/local/python3.6.2/lib/python3.6/lib-dynload/


4.重新编译python(也可以不需要)

5.安装requests模块

6.验证requests已经安装

import requests

大功告成!!!

说的很乱很乱,表达能力欠缺。其实我说的就两件事:

1.安装python3.6.2

2.安装requests模块
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python requests