尝试从开发版本(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发行版中显然很常见。然而,由于源可用,我尝试使用pip
从tarball进行安装。这给了我相当无法提供信息的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也会产生相同的错误。有谁知道如何解决这个问题?我有什么可以找到的吗?
答案 0 :(得分:1)
您尝试使用的mathplotlib版本已在Linux 3.0发布前几年发布。这就是为什么它不支持sys.platform='linux3'
的原因。您使用的Python版本早于2.7.2,它会设置linux3
值。
您可以尝试仅编辑tarball中的setupext.py
文件,并在basedir
添加linux3
的配置,这与linux
相同和linux2
。