Plotly杀了我的python安装

时间:2015-02-26 19:33:48

标签: python pip anaconda plotly

我只是尝试使用pip安装Plotly。我从Anaconda运行python,现在任何时候我尝试运行任何python我得到以下错误,我不知道如何解决它。我在Windows 7 64bit,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:\>

2 个答案:

答案 0 :(得分:5)

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

作为解决方法,

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

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

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

Plotly Python API问题:找到一种解决方法,以便不再发生这种情况(或其他用户):https://github.com/plotly/python-api/issues/197

答案 1 :(得分:1)

1.6.10包的版本plotly起,simplejsonordereddict包不再是依赖关系。

TL; DR:

Python 2.6应该使用:

pip install plotly[PY2.6]

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

pip install plotly

更多信息:

如果你已经在这篇文章中遇到过这个问题,你可能需要删除simplejson包,正如回答scjody给出的那样。

simplejsonordereddict包通过Python 3.4与Python 2.6有共同的依赖关系。但是,由于simplejson与anaconda冲突,我们现在有一个“额外”选项用于pip安装。

像往常一样,由于我们所依赖的IPython版本不支持Python 2.6,因此仍有两个可选要求文件可以安装matplotlibIPython[notebook]

optional_requirements.txt
optional_requirements-2-6.txt

引用注释:

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

pip install 'plotly[PY2.6]'