【问题标题】:Pandas versions compatible with specific python and numpy configurations?与特定 python 和 numpy 配置兼容的 Pandas 版本?
【发布时间】:2014-10-06 18:18:45
【问题描述】:

是否有一种编程方式可以找出哪些 pandas 版本与特定的 python 和 numpy 配置兼容?

我的兴趣是让 pandas 在 ESRI ArcMAP 10.1 中运行,它在 32 位 Windows 上运行并基于 python 2.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.7,所以我不知道这是一个新要求还是一个错误应该在早期版本级别添加的修复程序。

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

但我不知道 PyPI 构建是一个要求还是一个选择。

有没有什么好的方法可以在不问熊猫开发者的情况下找出这些东西?

【问题讨论】:

  • 这与 anaconda 如何创建发行版有关。它们在特定版本的 numpy 下编译,然后成为要求。您可以将 0.14.1 与 1.6.1 一起安装,但您必须在没有 anaconda 的情况下安装(只需使用 pip)。但是,恕我直言,没有理由这样做。更高版本具有更多功能和错误修复。由于您是直接安装,因此您不受任何约束。
  • FWIW,arcpy 与现代 numpy,IME 配合良好

标签: python pandas anaconda conda


【解决方案1】:

使用 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 将为您提供一个好的开始(至少根据我们在 Continuum 使用的配方,build.sh 中不需要任何特殊内容或所需的补丁)。然后用

    构建它

    conda build --npy 1.6 --py 2.7 pandas

【讨论】:

    猜你喜欢
    • 2023-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 2016-06-17
    • 2014-09-16
    • 1970-01-01
    相关资源
    最近更新 更多