【问题标题】:Tensorflow breaks pip on anaconda, windows osTensorflow 在 anaconda、windows os 上打破 pip
【发布时间】:2017-09-30 22:05:00
【问题描述】:

anaconda 的最新版本,windows 10,python 3.6。 安装 tensorflow 似乎会破坏 pip。

>conda create -n py6 python=3.6
>activate py6
>conda install tensorflow
>pip install tweepy
Collecting tweepy
Exception:
Traceback (most recent call last):
  File "C:\Programs\Anaconda3\envs\py6\lib\site-packages\pip\basecommand.py", line 215, in main
    status = self.run(options, args)
  File "C:\Programs\Anaconda3\envs\py6\lib\site-packages\pip\commands\install.py", line 335, in run
    wb.build(autobuilding=True)
  File "C:\Programs\Anaconda3\envs\py6\lib\site-packages\pip\wheel.py", line 749, in build
    self.requirement_set.prepare_files(self.finder)
  File "C:\Programs\Anaconda3\envs\py6\lib\site-packages\pip\req\req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "C:\Programs\Anaconda3\envs\py6\lib\site-packages\pip\req\req_set.py", line 554, in _prepare_file
    require_hashes
  File "C:\Programs\Anaconda3\envs\py6\lib\site-packages\pip\req\req_install.py", line 278, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "C:\Programs\Anaconda3\envs\py6\lib\site-packages\pip\index.py", line 465, in find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "C:\Programs\Anaconda3\envs\py6\lib\site-packages\pip\index.py", line 423, in find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File "C:\Programs\Anaconda3\envs\py6\lib\site-packages\pip\index.py", line 568, in _get_pages
    page = self._get_page(location)
  File "C:\Programs\Anaconda3\envs\py6\lib\site-packages\pip\index.py", line 683, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "C:\Programs\Anaconda3\envs\py6\lib\site-packages\pip\index.py", line 811, in get_page
    inst = cls(resp.content, resp.url, resp.headers)
  File "C:\Programs\Anaconda3\envs\py6\lib\site-packages\pip\index.py", line 731, in __init__
    namespaceHTMLElements=False,
TypeError: parse() got an unexpected keyword argument 'transport_encoding'

tweepy的使用只是一个例子,pip不能安装任何包。

使用 pip 安装 tensorflow 以及使用 python 3.5 虚拟环境时也会发生同样的情况。

这可能是由于某些软件包更新出错,将在下一次更新中修复。 同时,欢迎任何修复或任何仔细选择的工作版本号。

【问题讨论】:

  • 其他有reported这个问题。我发布了一个新问题,因为由于代表人数少,我无法对他们的问题发表评论,并且还明确提到了 tensorflow,在另一个问题中被提及为边缘细节。
  • tensorflow-gpu包工作正常,所以是cpu-only包的问题。
  • 对于同样的问题,请参见我的答案的第二个解决方案:stackoverflow.com/a/46517130/7213753
  • tensorflow gpu 同样的问题,中断 pip
  • 同样的问题,仍然无法解决。

标签: python-3.x tensorflow pip anaconda


【解决方案1】:

此问题在以下票证中报告:https://github.com/tensorflow/tensorboard/issues/588

要解决这个问题,你需要修复html5lib。 或者, 你可以利用anaconda重新安装

conda install -c anaconda html5lib

【讨论】:

  • 这对我不起作用。运行后我仍然遇到同样的异常。
  • 您可以先尝试删除 html5lib 吗? conda remove html5lib那你再安装一次conda install -c anaconda html5lib
  • 我不知道为什么,但这对我有用,现在我可以使用 tensorflow:python -m pip install --upgrade tensorflow
  • 根据我在此处发布的票证的理解。 Tensorflow 似乎覆盖了 html5lib 版本,但在 pip 中看到了导致此错误。但是,我们不应该在 tensorflow 中观察到任何问题。它只会在 pip 中引起问题。希望我能回答你的问题。
猜你喜欢
  • 2017-09-05
  • 1970-01-01
  • 2017-04-21
  • 2020-09-08
  • 2021-01-19
  • 2018-05-17
  • 2021-04-07
  • 1970-01-01
  • 2018-06-26
相关资源
最近更新 更多