首页 > 解决方案 > Pyarrow 不安装 python 3.7(anaconda 5.3.0,windows x64 版本)

问题描述

我通过安装 anaconda 5.3.0 安装了 64 位 windows 版本的 python 3.7。然后我尝试安装 pyarrow(“conda install pyarrow”)。

Anaconda 最终将python降级到 3.6。此后事情并没有那么顺利(奇怪的错误消息)。我最终不得不卸载 Anaconda 并重新安装它(必须卸载,因为如果程序文件夹不为空,它不会进行修复或重新安装)。

剩下的就是python 3.7,但没有pyarrow。是否有另一个包可以为我提供 python 和 pandas 的镶木地板支持?或者有没有办法让 pyarrow 与 python 3.7 一起工作?

更新:根据 Omri374 的建议,我试过了

pip install pyarrow

这并不能解决我单独的 anaconda 回滚到 python 3.6 的问题(即,在执行“conda install pyarrow”时),但它确实安装了 pyarrow。请注意,它提供了以下输出 - 尝试更新 pip 会产生回滚到 python 3.6,所以我不推荐它:

twisted 18.7.0 requires PyHamcrest>=1.9.0, which is not installed.
Installing collected packages: pyarrow
Successfully installed pyarrow-0.11.0  
You are using pip version 10.0.1, however version 18.1 is available. 
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

这是 64 位 win anaconda 5.3.0 (python 3.7) 附带的 pip 版本:

>conda list pip 
#Name Version Build Channel  
pip 10.0.1 py37_0

ps 由于 pyarrow 似乎需要 conda-forge 频道,这是我的频道列表(“conda config --show channels”):频道:

  - conda-forge
  - anaconda-fusion
  - defaults  

标签: pythonpandasanacondapyarrow

解决方案


最新的pyarrow包版本解决了这个问题。我现在可以在 python 3.7 下使用 anaconda 安装 pyarrow:

(base) C:\>conda install pyarrow
Solving environment: done

## Package Plan ##

  environment location: C:\Users\xxx
  added / updated specs:
    - pyarrow


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    pyarrow-0.11.0             |   py37h33f27b4_0         1.5 MB
    libboost-1.67.0            |       hd9e427e_4        31.8 MB
    conda-4.5.11               |        py37_1000         654 KB  conda-forge
    gflags-2.2.1               |           vc14_0         283 KB  conda-forge
    lz4-c-1.8.3                |    he025d50_1000         254 KB  conda-forge
    xz-5.2.4                   |    h2fa13f4_1001         805 KB  conda-forge
    thrift-cpp-0.11.0          |           vc14_2         2.2 MB  conda-forge
    arrow-cpp-0.11.0           |   py37h8e05e8c_0         7.5 MB
    glog-0.3.5                 |       h6538335_1         130 KB
    zstd-1.3.3                 |           vc14_1         1.2 MB  conda-forge
    ------------------------------------------------------------
                                           Total:        46.2 MB

The following NEW packages will be INSTALLED:

    arrow-cpp:  0.11.0-py37h8e05e8c_0
    gflags:     2.2.1-vc14_0          conda-forge [vc14]
    glog:       0.3.5-h6538335_1
    libboost:   1.67.0-hd9e427e_4
    lz4-c:      1.8.3-he025d50_1000   conda-forge
    pyarrow:    0.11.0-py37h33f27b4_0
    thrift-cpp: 0.11.0-vc14_2         conda-forge [vc14]
    xz:         5.2.4-h2fa13f4_1001   conda-forge
    zstd:       1.3.3-vc14_1          conda-forge [vc14]

The following packages will be UPDATED:

    conda:      4.5.11-py37_0                     --> 4.5.11-py37_1000 conda-forge

进一步更新:我发现存在影响 conda-forge 通道和新版本的 python/anaconda 的问题。(或者可能有两个问题。)

目前似乎解决问题的方法是在频道列表中只有“默认值”,而不是 conda-forge。(“conda config --show channels”)(但这可能只是因为“defaults”频道没有问题更新包。)

症状如下:

  1. 尝试更新 anaconda 会触发 python 回滚到 3.6:
The following packages will be DOWNGRADED: 

ipykernel:      4.10.0-py37_0             --> 4.9.0-py36_1
pyarrow:        0.11.1-py37h33f27b4_0     --> 0.8.0-py36_vc14_0       conda-forge [vc14]
python:         3.7.0-hea74fb7_0          --> 3.6.6-hea74fb7_0
  1. 尝试更新会在“自动”包上出现(不可纠正的)错误:
ERROR conda.core.link:_execute(502):
An error occurred while installing package 'conda-forge::automat-0.7.0-py_1'.
CondaError: Cannot link a source that does not exist.
C:\Users\xxx\anaconda3\Scripts\conda.exe 
Running conda clean --packages may resolve your problem. Attempting to roll back.

Rolling back transaction: Rolling back transaction: done 
CondaError: Cannot link a source that does not exist.
C:\Users\xxx\anaconda3\Scripts\conda.exe 
Running conda clean --packages may resolve your problem.

推荐阅读