【问题标题】:TypeError: not expecting type '<type 'bytes'>' on ironpython package installTypeError:在 Ironpython 包安装中不期望类型“<type 'bytes'>”
【发布时间】:2023-09-12 21:32:01
【问题描述】:

我正在尝试使用以下命令为 IronPython 2.7 安装一些软件包:

>C:\Program Files\IronPython 2.7\> ipy -X:Frames -m pip install (PackageName)

而且我不断收到这些错误消息块。

>ERROR: Exception:
Traceback (most recent call last):
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\cli\base_command.py", line 188, in _main
    status = self.run(options, args)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\cli\req_command.py", line 185, in wrapper
    return func(self, options, args)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\commands\install.py", line 332, in run
    requirement_set = resolver.resolve(
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 179, in resolve
    discovered_reqs.extend(self._resolve_one(requirement_set, req))
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 362, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 305, in _get_abstract_dist_for
    skip_reason = self._check_skip_installed(req)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 250, in _check_skip_installed
    self.finder.find_requirement(req_to_install, upgrade=True)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\index\package_finder.py", line 900, in find_requirement
    best_candidate_result = self.find_best_candidate(
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\index\package_finder.py", line 883, in find_best_candidate
    candidates = self.find_all_candidates(project_name)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\index\package_finder.py", line 827, in find_all_candidates
    package_links = self.process_project_url(
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\index\package_finder.py", line 792, in process_project_url
    html_page = self._link_collector.fetch_page(project_url)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\index\collector.py", line 612, in fetch_page
    return _get_html_page(location, session=self.session)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\index\collector.py", line 451, in _get_html_page
    resp = _get_html_response(url, session=session)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\index\collector.py", line 149, in _get_html_response
    resp = session.get(
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_vendor\requests\sessions.py", line 543, in get
    return self.request('GET', url, **kwargs)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_internal\network\session.py", line 421, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_vendor\requests\sessions.py", line 516, in request
    prep = self.prepare_request(req)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_vendor\requests\sessions.py", line 449, in prepare_request
    p.prepare(
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_vendor\requests\models.py", line 314, in prepare
    self.prepare_url(url, params)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_vendor\requests\models.py", line 380, in prepare_url
    scheme, auth, host, port, path, query, fragment = parse_url(url)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_vendor\urllib3\util\url.py", line 381, in parse_url
    host = _normalize_host(host, scheme)
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_vendor\urllib3\util\url.py", line 296, in _normalize_host
    return six.ensure_str(
  File "C:\Program Files\IronPython 2.7\Lib\site-packages\pip\_vendor\urllib3\packages\six.py", line 951, in ensure_str
    raise TypeError("not expecting type '%s'" % type(s))
TypeError: not expecting type '<type 'bytes'>'

我不知道这意味着什么。我完全被难住了。

当我尝试将 pythonnet 连接到 IronPython for Visual Studio 时,就会发生这种情况。 Pip 在标准 Python 上对我来说工作得很好,但这只发生在 IronPython 上。

它们是什么意思?这里有什么问题?我该如何解决这个问题?

PS:这发生在我的 Windows 10 笔记本电脑上。

【问题讨论】:

  • 您已经解决了这个问题吗?我也遇到了。

标签: python python-2.7 pip ironpython


【解决方案1】:

我在这个问题之后解决了这个问题: Why does IronPython tell me that pip is a package and not an executable?

可能你和我一样升级了 IronPython pip。

  1. 删除 Lib/site-packages 中有关 pip 和 setuptools 的任何内容
  2. 运行ipy -X:Frames -m ensurepip

现在你应该可以通过 pip 安装了。

【讨论】:

  • 欢迎来到 StackOverview!感谢您发布答案。