【问题标题】:TypeError: name must be a byte stringTypeError:名称必须是字节字符串
【发布时间】:2017-03-27 00:37:52
【问题描述】:

我正在尝试通过 conda 升级我的 tensorflow,但遇到了一些问题。我正在关注 Anaconda 安装程序here

执行conda create -n tensorflow 命令时出现错误。

这是错误:

Traceback (most recent call last):
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/conda/exceptions.py", line 479, in conda_exception_handler
        return_value = func(*args, **kwargs)
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/conda/cli/main.py", line 145, in _main
        exit_code = args.func(args, p)
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/conda/cli/main_create.py", line 68, in execute
        install(args, parser, 'create')
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/conda/cli/install.py", line 238, in install
        prefix=prefix)
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/conda/api.py", line 24, in get_index
        index = fetch_index(channel_urls, use_cache=use_cache, unknown=unknown)
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/conda/fetch.py", line 300, in fetch_index
        repodatas = [(u, f.result()) for u, f in zip(urls, futures)]
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/concurrent/futures/_base.py", line 403, in result
        return self.__get_result()
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/concurrent/futures/thread.py", line 55, in run
        result = self.fn(*self.args, **self.kwargs)
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/conda/fetch.py", line 75, in func
        res = f(*args, **kwargs)
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/conda/fetch.py", line 117, in fetch_repodata
        timeout=(6.1, 60))
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/requests/sessions.py", line 480, in get
        return self.request('GET', url, **kwargs)
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/requests/sessions.py", line 468, in request
        resp = self.send(prep, **send_kwargs)
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/requests/sessions.py", line 576, in send
        r = adapter.send(request, **kwargs)
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/requests/adapters.py", line 376, in send
        timeout=timeout
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 559, in urlopen
        body=body, headers=headers)
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 345, in _make_request
        self._validate_conn(conn)
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 784, in _validate_conn
        conn.connect()
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/requests/packages/urllib3/connection.py", line 252, in connect
        ssl_version=resolved_ssl_version)
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 296, in ssl_wrap_socket
        cnx.set_tlsext_host_name(server_hostname)
      File "/Users/madhavthaker/Downloads/anaconda/lib/python2.7/site-packages/OpenSSL/SSL.py", line 1232, in set_tlsext_host_name
        raise TypeError("name must be a byte string")
    TypeError: name must be a byte string

我进行了一些谷歌搜索,但未能找到有用的回复。任何帮助将非常感激。

【问题讨论】:

    标签: python terminal tensorflow anaconda


    【解决方案1】:

    您的 conda 使用的是 python 2.7,您可能需要将其升级到 python 3.x

    我这样说是因为在您链接的 anaconda 安装指南中,它显示了一个带括号的 print 调用,这是 python 3 语法

    【讨论】:

    • 似乎有些不对劲。即使我尝试使用 conda create -n py35 python=3.5 anaconda 在 anacanda 上安装 python 3.5 环境,我也会收到相同的错误
    • 确保您的新错误消息在其路径中包含 python3.5。否则它似乎是 SSL.py 的问题,这里有一个与之相关的问题:github.com/requests/requests-oauthlib/issues/161
    • 同样的问题:github.com/beetbox/beets/issues/2098 ,他似乎通过使用easy_install升级pip和加密来解决它,所以如果你可以在你的conda的python上升级这些包然后再试一次
    猜你喜欢
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-17
    • 2013-05-25
    相关资源
    最近更新 更多