pandas 版本兼容特定的蟒蛇和NumPy配置吗?

Pandas versions compatible with specific python and numpy configurations?( pandas 版本兼容特定的蟒蛇和NumPy配置吗?)
本文介绍了 pandas 版本兼容特定的蟒蛇和NumPy配置吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有一种编程方法可以找出哪些 pandas 版本与特定的Python和Numpy配置兼容?

我的兴趣是让 pandas 在ESRI ArcMAP 10.1中运行,它运行在32位Windows上,构建在Python2.7和NumPy 1.6之上。

我尝试通过打开一个32位的Anaconda命令提示符并键入

来为与ESRI ArcMap 10.1兼容的Python创建Conda环境
conda create -n arcmap101 python=2.7 numpy=1.6 pandas

我得到了一个包含pandas=0.10.1

的Python环境

但是,似乎应该可以使用python=2.7numpy=1.6构建更高的版本,但我只是不确定有多高。

我尝试查看history of the pandas setup.py on github,min_numpy_ver=1.6直到pandas=0.14有一个min_numpy_ver=1.6,尽管最近要求更改为min_numpy_ver=1.7,因此我不知道这是新要求还是应该在较早版本级别添加的错误修复。

我看到在PyPI上,Windows上的pandas=0.11是针对numpy=1.6构建的,而pandas=0.12是针对numpy=1.7构建的。

但我不知道PyPI构建是必需的还是一种选择。

有没有什么好办法,不用直接问 pandas 开发人员就能搞清楚这些事情?

推荐答案

使用conda针对NumPy构建的每个包都将NumPy主版本硬编码为依赖项。该版本也反映在构建字符串中(如np18py27)。这可能过于谨慎了,因为许多包并不使用Numpy API的向后不兼容部分(尤其是,并不是所有的包都真正针对Numpy编译C扩展),但无论如何,它都是这样做的。

Continuum在发布1.8时停止了针对较旧版本的NumPy的构建,这就是为什么当您告诉Conda与NumPy 1.6一起安装时,Conda会给您一个较旧版本的Pandas。要查看其中的内容,请运行conda search pandas,并记下构建字符串。

如果您需要不可用的Numpy/Pandas组合,您有两个选择:

  1. 手动安装"错误"的 pandas ,希望它能正常工作。NumPy API在理论上是向后兼容的,因此这里有希望。不过,在这样做之后,进行 pandas 测试可能是值得的,看看它是否真的有效。类似于

    conda create -n arcmap101 python=2.7 numpy=1.6 pandas

    conda install -n arcmap101 --no-deps pandas=0.13 # Or whatever version

    这将使您的环境处于Conda会认为不一致的状态,但包将安装在那里。您可以指定 pandas 的确切版本,精确到构建字符串,如pandas=0.13.0=np17py27_0

  2. 用您想要的组合构建您自己的 pandas 套餐。conda skeleton pypi pandas将为您提供一个良好的开始(在构建.sh中不需要任何特殊的东西,或者不需要补丁,至少根据我们在Continuum这里使用的配方)。然后使用

    构建它

    conda build --npy 1.6 --py 2.7 pandas

这篇关于 pandas 版本兼容特定的蟒蛇和NumPy配置吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)