python 出现'module' object has no attribute 'HTTPSHandler' 错误,是由于你编译python的时候没有把ssl模块编译进去,从新编译安装python,并把ssl模块包含进去就能够了
cd python源码目录/Modules
vi Setup.dst
找到
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto python
而后从新make便可 curl
错误以下: socket
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
md5
-
x86_64
.
s
:
Assembler
messages
:
md5
-
x86_64
.
s
:
41
:
Error
:
0xd76aa478
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
50
:
Error
:
0xe8c7b756
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
68
:
Error
:
0xc1bdceee
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
77
:
Error
:
0xf57c0faf
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
95
:
Error
:
0xa8304613
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
104
:
Error
:
0xfd469501
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
122
:
Error
:
0x8b44f7af
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
131
:
Error
:
0xffff5bb1
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
140
:
Error
:
0x895cd7be
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
158
:
Error
:
0xfd987193
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
167
:
Error
:
0xa679438e
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
187
:
Error
:
0xf61e2562
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
196
:
Error
:
0xc040b340
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
214
:
Error
:
0xe9b6c7aa
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
223
:
Error
:
0xd62f105d
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
241
:
Error
:
0xd8a1e681
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
250
:
Error
:
0xe7d3fbc8
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
268
:
Error
:
0xc33707d6
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
277
:
Error
:
0xf4d50d87
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
295
:
Error
:
0xa9e3e905
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
304
:
Error
:
0xfcefa3f8
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
322
:
Error
:
0x8d2a4c8a
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
332
:
Error
:
0xfffa3942
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
340
:
Error
:
0x8771f681
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
356
:
Error
:
0xfde5380c
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
364
:
Error
:
0xa4beea44
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
380
:
Error
:
0xf6bb4b60
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
388
:
Error
:
0xbebfbc70
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
404
:
Error
:
0xeaa127fa
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
412
:
Error
:
0xd4ef3085
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
428
:
Error
:
0xd9d4d039
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
436
:
Error
:
0xe6db99e5
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
452
:
Error
:
0xc4ac5665
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
463
:
Error
:
0xf4292244
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
481
:
Error
:
0xab9423a7
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
490
:
Error
:
0xfc93a039
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
508
:
Error
:
0x8f0ccc92
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
517
:
Error
:
0xffeff47d
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
526
:
Error
:
0x85845dd1
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
544
:
Error
:
0xfe2ce6e0
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
553
:
Error
:
0xa3014314
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
571
:
Error
:
0xf7537e82
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
580
:
Error
:
0xbd3af235
out
range
of
signed
32bit
displacement
md5
-
x86_64
.
s
:
598
:
Error
:
0xeb86d391
out
range
of
signed
32bit
displacement
make
[
2
]
:
*
*
*
[
md5
-
x86_64
.
o
]
Error
1
make
[
2
]
:
Leaving
directory
`
/
software
/
script
/
openssl
-
0.9.8g
/
crypto
/
md5
'
make[1]: *** [subdirs] Error 1
make[1]: Leaving directory `/software/script/openssl-0.9.8g/crypto'
make
:
*
*
*
[
build_crypto
]
Error
1
|
坑爹的也谈不上有什么解法,这里我编译的是openssl-0.9.8g,死活编不过,后到openssl资料库去翻了会,想也没想换了个版本openssl-0.9.8n,顺利编过 网站
报错以下: ui
1
2
3
4
5
|
# pip
Traceback
(
most
recent
call
last
)
:
File
"/usr/bin/pip"
,
line
5
,
in
<
module
>
from
pkg_resources
import
load_entry_point
ImportError
:
No
module
named
pkg_resources
|
其实发生这个问题是由于:虽然你已经把Python升级到了2.7版本,可是pip仍然是原来的,版本,仍然在原来python的site-package里面 url
CentOS5环境下,默认是python2.4,site-package在 spa
1
|
/
usr
/
lib
/
python2
.
4
/
site
-
packages
/
|
不少模块都被安装在这里。直接打pip,仍是使用的原来的pip。因此咱们的思路就是:应该在新的Python中安装pip,这样才不会报错。 ip
这个问题遇到的人不少,可是解决的太少了,网上都是抄来抄去,都解决不了问题。最后仍是在一外个国人的网站上找到了解决方案: md5
1
2
|
# curl -O http://python-distribute.org/distribute_setup.py
# /usr/local/pyton2.7/bin/python distribute_setup.py
|
使用新版本的python来运行这个脚本,这个会自动安装出来一个easy_install,而后使用这个新的easy_install来安装pip就能够了! ssl
1
2
3
|
# /usr/local/python/bin/easy_install pip
# /usr/local/python/bin/pip -V
pip
1.4.1
from
/
usr
/
local
/
python
/
lib
/
python2
.
7
/
site
-
packages
/
pip
-
1.4.1
-
py2
.
7.egg
(
python
2.7
)
|
安装生成的全部二进制文件,都是在你的PYTHON_HOME/bin/,由于个人是安装在/usr/local/python/,因此命令都在这里,之后再调用pip要使用绝对路径,或者作连接!
2.7的模块是在如下目录
1
|
/
usr
/
local
/
python
/
lib
/
python2
.
7
/
site
-
packages
/
|