2017-05-23 3 views
0

파이썬에서 ssl을 가져올 수 없습니다. 오류가 발생합니다.Python SSL 가져 오기 오류

코드 :

import ssl 

출력 (숭고한 텍스트 3) :

Traceback (most recent call last): 
    File "asd.py", line 1, in <module> 
    import ssl 
    File "/usr/lib/python2.7/ssl.py", line 138, in <module> 
    from socket import socket, _fileobject, _delegate_methods, error as socket_error 
ImportError: cannot import name socket 

내가, 파이썬의 버전 2.7.12+

내의 sources.list 파일 칼리 리눅스를 사용하고 있습니다 :

# deb cdrom:[Debian GNU/Linux 2016.1 _Kali-rolling_ - Official Snapshot amd64 LIVE/INSTALL Binary 20160830-11:29]/ kali-rolling contrib main non-free 

#deb cdrom:[Debian GNU/Linux 2016.1 _Kali-rolling_ - Official Snapshot amd64 LIVE/INSTALL Binary 20160830-11:29]/ kali-rolling contrib main non-free 
deb http://http.kali.org/kali kali-rolling main contrib non-free 

deb-src http://http.kali.org/kali kali-rolling main contrib non-free 
deb http://cz.archive.ubuntu.com/ubuntu yakkety main universe 
deb http://http.kali.org/ /kali main contrib non-free 
deb http://http.kali.org/ /wheezy main contrib non-free 

명령 li NE :

[email protected]:~/Desktop# python asd.py 
Traceback (most recent call last): 
    File "asd.py", line 1, in <module> 
    import ssl 
    File "/usr/lib/python2.7/ssl.py", line 137, in <module> 
    from socket import socket, _fileobject, _delegate_methods, error as socket_error 
ImportError: cannot import name socket 

[email protected]:~/Desktop# python3 asd.py 
Traceback (most recent call last): 
    File "asd.py", line 1, in <module> 
    import ssl 
    File "/usr/lib/python3.5/ssl.py", line 144, in <module> 
    from socket import socket, AF_INET, SOCK_STREAM, create_connection 
ImportError: cannot import name 'socket' 
Error in sys.excepthook: 
Traceback (most recent call last): 
    File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook 
    from apport.fileutils import likely_packaged, get_recent_crashes 
    File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module> 
    from apport.report import Report 
    File "/usr/lib/python3/dist-packages/apport/report.py", line 21, in <module> 
    from urllib.request import urlopen 
    File "/usr/lib/python3.5/urllib/request.py", line 88, in <module> 
    import http.client 
    File "/usr/lib/python3.5/http/client.py", line 739, in <module> 
    class HTTPConnection: 
    File "/usr/lib/python3.5/http/client.py", line 749, in HTTPConnection 
    def __init__(self, host, port=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, 
AttributeError: module 'socket' has no attribute '_GLOBAL_DEFAULT_TIMEOUT' 
Original exception was: 
Traceback (most recent call last): 
    File "asd.py", line 1, in <module> 
    import ssl 
    File "/usr/lib/python3.5/ssl.py", line 144, in <module> 
    from socket import socket, AF_INET, SOCK_STREAM, create_connection 
ImportError: cannot import name 'socket' 

파이썬 명령 줄 : 링크 아래

Python 2.7.12+ (default, Aug 4 2016, 20:04:34) 
[GCC 6.1.1 20160724] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import socket 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "socket.py", line 1, in <module> 
    import ssl 
    File "/usr/lib/python2.7/ssl.py", line 137, in <module> 
    from socket import socket, _fileobject, _delegate_methods, error as socket_error 
ImportError: cannot import name socket 
>>> print(socket) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'socket' is not defined 
>>> print(dir(socket)) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'socket' is not defined 
+0

python을 시작하고 콘솔 유형 (한 줄에 각 명령) :'print (socket)'그리고 나서'print (dir (socket)')를 입력하고 출력을 붙여 넣으십시오. 그러나 오류는 이상합니다 : 당신은'import ssl' 문을 가지고 있습니까? 그리고 줄 번호도 이상합니다. _pocket_ 라이브러리에서 _socket.py_을 (를) 수정 한 적이 있습니까? 또는 _socket.py_라는 자체 파일이 있습니까? 그렇다면 표준 _Python_ 모듈 이름이므로 __rename it__입니다. – CristiFati

+0

아니요, 파이썬 라이브러리를 수정하지 않았습니다 .. 제 질문을 수정했습니다. 귀하의 질문에 대한 답변이 지금 있습니다. – mfekete101

+2

_Python_ 모듈 검색 경로 (_asd.py_ 어쩌면) 옆에 _socket (.py/.pyc/.so) _ 파일이 아직있는 것처럼 보입니다. _asd.py_를 수정하고 __its beginning__에서 다음과 같이 (4) 줄을 추가하십시오 :'import socket','print (socket)','import sys','print (sys.path)'그리고 모든 예외). – CristiFati

답변

3

내가 파일이 socket.py라는,이 오류를 생성하는 생각 문제 (파이썬 파일 이름을 socketssl 모듈의 일부로 혼동합니다. t, 따라서 네임 스페이스 유형의 오류가 있음).

파일 이름을 다른 이름 (my_socket.py)으로 변경하면 문제가 해결됩니다.

+0

내 소켓 가져 오기 문제가 해결되었지만 SSL이 아니라. – mfekete101

+0

사실, 현재 질문의 오류는 ssl이 아닌 네임 스페이스 충돌 때문에 발생한다. 새로운 오류 메시지 (있는 경우) 또는 누락 된 예상 동작에 대한 자세한 정보를 제공해주십시오. – SimpleBeat

+0

변경 사항은 없지만 문제는 여전히 존재합니다 ... 새로운 오류 메시지가 없습니다. 전체 OS를 다시 설치할 것입니다 ... 모든 것을 시도했지만, 파이썬은 악마입니다 ... – mfekete101