1

我只是尝试使用 pip 安装 Plotly。我正在从 Anaconda 运行 python,现在每当我尝试运行任何 python 时,我都会收到以下错误,我不知道如何修复它。我在 Windows 7 64 位、Python3、4 上运行

    PS Z:\> pip
Traceback (most recent call last):
  File "C:\Anaconda3\Scripts\pip-script.py", line 3, in <module>
    from pip import main
  File "C:\Anaconda3\lib\site-packages\pip\__init__.py", line 11, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "C:\Anaconda3\lib\site-packages\pip\vcs\mercurial.py", line 9, in <module>
    from pip.download import path_to_url
  File "C:\Anaconda3\lib\site-packages\pip\download.py", line 22, in <module>
    from pip._vendor import requests, six
  File "C:\Anaconda3\lib\site-packages\pip\_vendor\requests\__init__.py", line 58, in <module>
    from . import utils
  File "C:\Anaconda3\lib\site-packages\pip\_vendor\requests\utils.py", line 25, in <module>
    from .compat import parse_http_list as _parse_list_header
  File "C:\Anaconda3\lib\site-packages\pip\_vendor\requests\compat.py", line 77, in <module>
    import simplejson as json
  File "C:\Anaconda3\lib\site-packages\simplejson\__init__.py", line 112, in <module>
    from .scanner import JSONDecodeError
  File "C:\Anaconda3\lib\site-packages\simplejson\scanner.py", line 10, in <module>
    c_make_scanner = _import_c_make_scanner()
  File "C:\Anaconda3\lib\site-packages\simplejson\scanner.py", line 6, in _import_c_make_scanner
    from simplejson._speedups import make_scanner
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 4: invalid start byte
PS Z:\>
4

2 回答 2

5

这是 Anaconda 的 pip 版本和最新版本的 simplejson(安装 Plotly 时安装的)之间的交互。

作为一种解决方法,

del C:\Anaconda3\lib\site-packages\simplejson

这将允许 pip 和 Plotly 再次工作。不幸的是,如果你升级 Plotly,这个问题会再次发生,所以我们将在 Plotly requirements.txt 文件中添加一个解决方法,以防止将来发生这种情况。(在 Python 2.6 系统上实际上只需要 simplejson。)

我评论过一个与此相关的 Anaconda 问题:https ://github.com/ContinuumIO/anaconda-issues/issues/238

Plotly Python API 问题回复:找到一种解决方法,这样就不会再次发生(或其他用户):https ://github.com/plotly/python-api/issues/197

于 2015-02-26T22:30:49.050 回答
1

从包的版本开始1.6.10,和包不再是依赖项。plotlysimplejsonordereddict

TL;博士:

Python 2.6 应该使用:

pip install plotly[PY2.6]

虽然 Python 2.7、3.3 和 3.4 仍应使用:

pip install plotly

更多信息:

如果您已经在这篇文章中遇到了问题,您可能需要按照simplejsonscjody 给出的答案中的讨论删除该软件包。

simplejson和包在ordereddictPython 2.6 到 Python 3.4 中有共同的依赖关系。但是,由于simplejson与 anaconda 发生冲突,我们现在为 pip 安装提供了一个“附加”选项。

和往常一样,由于我们依赖的 IPython 版本不支持 Python 2.6,所以还有两个可选的需求文件 install matplotlibIPython[notebook]等。

optional_requirements.txt
optional_requirements-2-6.txt

行情注释:

根据您使用的 shell,在使用''Python 2.6 的附加功能时,您可能需要将安装目标括在引号 ( ) 中:

pip install 'plotly[PY2.6]'
于 2015-03-05T18:47:00.977 回答