Python Conda安装旧版本的matplotlib keyerror linux3

时间:2018-02-05 22:36:29

标签: python matplotlib conda

尝试从开发版本(SVN中继,如此处所示:http://pprospector.sourceforge.net/install/install.html)安装工具PrimerProspector时,我尝试创建一个conda环境以优雅的方式解析依赖项(我正在运行Ubuntu服务器16.04 .3带有conda的LTS机器4.4.8)。当环境(使用python 2.6)被激活时,可以使用pip install轻松地将PyCogent和Numpy安装在所需的版本中。我在我的频道中有conda锻造。但是,在运行pip install matplotlib==0.98.5.3时,我遇到的问题是没有可用的版本(Could not find a version that satisfies the requirement matplotlib==0.98.5.3 (from versions: 0.86, 0.86.1, 0.86.2, 0.91.0, 0.91.1, 1.0.1, 1.1.0, 1.1.1, 1.2.0, 1.2.1, 1.3.0, 1.3.1, 1.4.0, 1.4.1rc1, 1.4.1, 1.4.2, 1.4.3, 1.5.0, 1.5.1, 1.5.2, 1.5.3, 2.0.0b1, 2.0.0b2, 2.0.0b3, 2.0.0b4, 2.0.0rc1, 2.0.0rc2, 2.0.0, 2.0.1, 2.0.2, 2.1.0rc1, 2.1.0, 2.1.1, 2.1.2))。另外,我得到一个InsecurePlatformWarning,这在旧的Python发行版中显然很常见。然而,由于源可用,我尝试使用piptarball进行安装。这给了我相当无法提供信息的KeyError: 'linux3'

Complete output from command python setup.py egg_info:
    ============================================================================
    BUILDING MATPLOTLIB
                matplotlib: 0.98.5.3
                    python: 2.6.9 | packaged by conda-forge | (unknown, Apr 29
                            2017, 15:44:38)  [GCC 4.8.2 20140120 (Red Hat
                            4.8.2-15)]
                  platform: linux3

    REQUIRED DEPENDENCIES
    Traceback (most recent call last):
      File "<string>", line 20, in <module>
      File "/tmp/pip-7ZwjL5-build/setup.py", line 99, in <module>
        if not check_for_numpy():
      File "setupext.py", line 497, in check_for_numpy
        add_base_flags(module)
      File "setupext.py", line 319, in add_base_flags
        [os.path.join(p, 'include') for p in basedir[sys.platform] ])
    KeyError: 'linux3'

    ----------------------------------------

解压缩后直接运行setup.py也会产生相同的错误。有谁知道如何解决这个问题?我有什么可以找到的吗?

1 个答案:

答案 0 :(得分:1)

您尝试使用的mathplotlib版本已在Linux 3.0发布前几年发布。这就是为什么它不支持sys.platform='linux3'的原因。您使用的Python版本早于2.7.2,它会设置linux3值。

您可以尝试仅编辑tarball中的setupext.py文件,并在basedir添加linux3的配置,这与linux相同和linux2