python2.7 : [SSL: UNKNOWN_PROTOCOL] unknown protocol

标签 python python-2.7 ssl proxy urllib

我正在尝试从源代码安装 ROS。

当我执行安装命令时,出现这样的错误:

Traceback (most recent call last):
  File "/home/zyh/ros_catkin_ws/install_isolated/share/ros/core/rosbuild/bin/download_checkmd5.py", line 126, in <module>
    sys.exit(main())
  File "/home/zyh/ros_catkin_ws/install_isolated/share/ros/core/rosbuild/bin/download_checkmd5.py", line 73, in main
    urllib.urlretrieve('https://github.com/assimp/assimp/archive/v3.1.1.zip', dest)
  File "/usr/lib/python2.7/urllib.py", line 98, in urlretrieve
    return opener.retrieve(url, filename, reporthook, data)
  File "/usr/lib/python2.7/urllib.py", line 245, in retrieve
    fp = self.open(url, data)
  File "/usr/lib/python2.7/urllib.py", line 213, in open
    return getattr(self, name)(url)
  File "/usr/lib/python2.7/urllib.py", line 443, in open_https
    h.endheaders(data)
  File "/usr/lib/python2.7/httplib.py", line 1038, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 882, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 844, in send
    self.connect()
  File "/usr/lib/python2.7/httplib.py", line 1263, in connect
    server_hostname=server_hostname)
  File "/usr/lib/python2.7/ssl.py", line 363, in wrap_socket
    _context=self)
  File "/usr/lib/python2.7/ssl.py", line 611, in __init__
    self.do_handshake()
  File "/usr/lib/python2.7/ssl.py", line 840, in do_handshake
    self._sslobj.do_handshake()
IOError: [Errno socket error] [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:661)
/home/zyh/ros_catkin_ws/install_isolated/share/mk/download_unpack_build.mk:37: recipe for target 'build/assimp-3.1.1/unpacked' failed
make[3]: *** [build/assimp-3.1.1/unpacked] Error 1

我不知道如何解决这个问题。也许是因为我在代理后面工作?如果是这样,如何使 urllib.urlretrieve 在代理后面工作?

最佳答案

将代理设置添加到您的全局环境,看看它是否能解决问题。

sudo gedit /etc/environment

然后加入这两行

http_proxy=http://your_proxy.com:443
https_proxy=https://your_proxy.com:443

关于python2.7 : [SSL: UNKNOWN_PROTOCOL] unknown protocol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49050788/

相关文章:

python - 我如何过滤 Pandas 数据框并根据其他列和其他条件仅保留行

python - 悲怆多处理不能 pickle

ssl - 获取许多 CNAME 的 SSL 证书?

python - Pygame 在点击之间重置计时器

python-2.7 - 令人沮丧的python语法错误

azure - 为什么此 Azure 网站“仅有时”无法显示中间 SSL 证书?

ssl - Websphere Application Server - HTTPClient - SSL Peer unauthenticated

python - 自定义 Django 字段不从查询返回 Enum 实例

python - 尝试运行 Python 脚本时出现 "import: not found"

Python2.7,unicode字符串的utf-32编码输出中的特殊字符是什么意思?