Pip install numpy 抛出 TypeError 异常 IronPython 2.7
Pip install numpy throws a TypeError Exception IronPython 2.7
我在一家公司实习,我有一个关于将 Python 集成到现有 C# 项目中的项目。因此,添加 NumPy 和 SciPy 这两个库非常重要。
由于旧的 Python 版本有一些限制,这就是为什么我有点挣扎。
所以我所做的是尝试通过 pip 安装 NumPy,如下所示:
pip install --proxy="proxy:port" numpy
我得到的是异常。我已经尝试升级 pip 因为我认为它可能会解决问题但没有成功。
有谁知道这个问题的原因是什么?
DEPRECATION: pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
ERROR: Exception:
Traceback (most recent call last):
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\cli\base_command.py", line 223, in _main
status = self.run(options, args)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\cli\req_command.py", line 180, in wrapper
return func(self, options, args)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\commands\install.py", line 320, in run
requirement_set = resolver.resolve(
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 180, 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 385, in _resolve_one
dist = self._get_dist_for(req_to_install)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 336, in _get_dist_for
self._populate_link(req)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 302, in _populate_link
req.link = self._find_requirement_link(req)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 267, in _find_requirement_link
best_candidate = self.finder.find_requirement(req, upgrade)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\index\package_finder.py", line 899, 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 882, 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 825, 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 789, 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 618, 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 430, 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 127, in _get_html_response
resp = session.get(
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_vendor\requests\sessions.py", line 555, in get
return self.request('GET', url, **kwargs)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\network\session.py", line 428, 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 528, in request
prep = self.prepare_request(req)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_vendor\requests\sessions.py", line 456, in prepare_request
p.prepare(
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_vendor\requests\models.py", line 316, in prepare
self.prepare_url(url, params)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_vendor\requests\models.py", line 382, 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'>'
提前致谢!
10 月 6 日更新:
我将用于安装 NumPy 的 pip install 命令更改为:
pip install --proxy="proxy:port" numpy==1.6.6
因为我知道这是兼容 python 2.7 的最后一个版本,但我没有成功。它抛出相同的错误,但抛出异常的文件不同:
pip install --proxy="xxx:port" --user numpy==1.6.6
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
DEPRECATION: A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
ERROR: Exception:
Traceback (most recent call last):
File "C:\Users\FurkanK\AppData\Roaming\Python\IronPython27\site-packages\pip\_internal\cli\base_command.py", line 186, in _main
status = self.run(options, args)
File "c:\program files\ironpython 2.7\Lib\contextlib.py", line 35, in __exit__
self.gen.throw(type, value, traceback)
File "c:\program files\ironpython 2.7\Lib\contextlib.py", line 35, in __exit__
self.gen.throw(type, value, traceback)
File "C:\Users\FurkanK\AppData\Roaming\Python\IronPython27\site-packages\pip\_internal\req\req_tracker.py", line 42, in update_env_context_manager
yield
TypeError: not expecting type '<type 'bytes'>'
我采取的下一步是将 pip 版本更改为旧版本:
pip install pip==20.0.1
之后我尝试安装上面提到的较旧的 NumPy 版本,但它也没有用。
我真的不知道我还能做什么。我认为问题一定是最新的 2.7.11 IronPython 版本,因为即使更改 pip 版本也无济于事。还有其他人有任何线索吗?
无法通过 IronPython 使用 python 使用 C 扩展的库。
使用 Python.NET 可能会更好,因为它在后台与 CPython 集成。
我在一家公司实习,我有一个关于将 Python 集成到现有 C# 项目中的项目。因此,添加 NumPy 和 SciPy 这两个库非常重要。 由于旧的 Python 版本有一些限制,这就是为什么我有点挣扎。
所以我所做的是尝试通过 pip 安装 NumPy,如下所示:
pip install --proxy="proxy:port" numpy
我得到的是异常。我已经尝试升级 pip 因为我认为它可能会解决问题但没有成功。 有谁知道这个问题的原因是什么?
DEPRECATION: pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
ERROR: Exception:
Traceback (most recent call last):
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\cli\base_command.py", line 223, in _main
status = self.run(options, args)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\cli\req_command.py", line 180, in wrapper
return func(self, options, args)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\commands\install.py", line 320, in run
requirement_set = resolver.resolve(
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 180, 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 385, in _resolve_one
dist = self._get_dist_for(req_to_install)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 336, in _get_dist_for
self._populate_link(req)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 302, in _populate_link
req.link = self._find_requirement_link(req)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\resolution\legacy\resolver.py", line 267, in _find_requirement_link
best_candidate = self.finder.find_requirement(req, upgrade)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\index\package_finder.py", line 899, 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 882, 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 825, 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 789, 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 618, 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 430, 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 127, in _get_html_response
resp = session.get(
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_vendor\requests\sessions.py", line 555, in get
return self.request('GET', url, **kwargs)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_internal\network\session.py", line 428, 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 528, in request
prep = self.prepare_request(req)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_vendor\requests\sessions.py", line 456, in prepare_request
p.prepare(
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_vendor\requests\models.py", line 316, in prepare
self.prepare_url(url, params)
File "c:\program files\ironpython 2.7\Lib\site-packages\pip\_vendor\requests\models.py", line 382, 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'>'
提前致谢!
10 月 6 日更新:
我将用于安装 NumPy 的 pip install 命令更改为:
pip install --proxy="proxy:port" numpy==1.6.6
因为我知道这是兼容 python 2.7 的最后一个版本,但我没有成功。它抛出相同的错误,但抛出异常的文件不同:
pip install --proxy="xxx:port" --user numpy==1.6.6
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
DEPRECATION: A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
ERROR: Exception:
Traceback (most recent call last):
File "C:\Users\FurkanK\AppData\Roaming\Python\IronPython27\site-packages\pip\_internal\cli\base_command.py", line 186, in _main
status = self.run(options, args)
File "c:\program files\ironpython 2.7\Lib\contextlib.py", line 35, in __exit__
self.gen.throw(type, value, traceback)
File "c:\program files\ironpython 2.7\Lib\contextlib.py", line 35, in __exit__
self.gen.throw(type, value, traceback)
File "C:\Users\FurkanK\AppData\Roaming\Python\IronPython27\site-packages\pip\_internal\req\req_tracker.py", line 42, in update_env_context_manager
yield
TypeError: not expecting type '<type 'bytes'>'
我采取的下一步是将 pip 版本更改为旧版本:
pip install pip==20.0.1
之后我尝试安装上面提到的较旧的 NumPy 版本,但它也没有用。
我真的不知道我还能做什么。我认为问题一定是最新的 2.7.11 IronPython 版本,因为即使更改 pip 版本也无济于事。还有其他人有任何线索吗?
无法通过 IronPython 使用 python 使用 C 扩展的库。
使用 Python.NET 可能会更好,因为它在后台与 CPython 集成。