【问题标题】:Can't install the latest version of python package无法安装最新版本的python包
【发布时间】:2020-08-01 15:17:51
【问题描述】:

我正在尝试安装似乎可用的 pyarrow 0.16: https://anaconda.org/conda-forge/pyarrow

当我执行以下任一操作时,会安装 0.15.1

conda install -c conda-forge pyarrow
conda install -c conda-forge/label/gcc7 pyarrow
conda install -c conda-forge/label/broken pyarrow
conda install -c conda-forge/label/cf201901 pyarrow
conda install -c conda-forge/label/cf202003 pyarrow

pip install 也安装 0.15.1

我尝试使用 conda env:

conda create -n work1 pyarrow=0.16.0

然后得到这个:

PackagesNotFoundError:当前频道无法提供以下软件包:

  • pyarrow=0.16.0

知道是什么原因造成的吗?

【问题讨论】:

  • 这很奇怪。可以添加conda config --show subdirs的输出吗?
  • 能否提供你的conda环境的python版本?也许你的python版本没有发布最新的pyarrow版本。
  • @cel,子目录:-win-64-noarch
  • @pablosjv 我使用基本 conda 环境并在 3 周前安装了新的 anaconda。 Python 3.7.6
  • 先添加conda-forge作为通道并设置通道优先级(见conda-forge.org/docs/user/…),然后尝试重新创建环境conda create -n work1 pyarrow=0.16.0

标签: pip conda pyarrow conda-forge


【解决方案1】:

最新版本可从 conda-forge 频道获得。如果要从那里安装,建议创建一个新的 conda 环境。首先添加 conda-forge 作为频道并设置频道优先级(见instructions):

conda config --add channels conda-forge
conda config --set channel_priority strict

然后尝试重新创建环境:

conda create -n work1 pyarrow=0.16.0

【讨论】:

    【解决方案2】:

    检查来自 https://pypi.org/pypi/pyarrow/json
    pyarrow 依赖项 在['info']['requires_dist'] 你会发现:

    ['numpy (>=1.14)',  
     'six (>=1.0.0)',  
     'futures; python_version < "3.2"',  
     'enum34 (>=1.1.6); python_version < "3.4"']  
    

    然后您也可以直接从https://pypi.org/project/pyarrow/#files 下载 pyarrow-0.16.0-cp38-cp38-win_amd64.whl(或您需要的任何版本)并 pip 安装它。

    【讨论】:

    • 我认为当问题明确提到 conda 问题时,推荐 pip 安装通常不是一个好建议。 IMO 更多的是修补症状而不是解决根本问题。
    • 提问者也明确提到了一个pip问题(!),一般来说将pip安装到单独 'work1' conda环境中没有任何问题,见官方文档Installing non conda packages。特别是我认为通过查看 pypi 检查依赖关系没有问题,因为这可以提示为什么 conda 安装首先失败。
    • 但是,最终它是在能够使用最新 pyarrow 版本的功能与“可能”遭受稳定性或兼容性问题之间进行权衡。在最坏的情况下,人们总是可以删除“work1”环境——这就是环境的用途。
    • 我正在寻求有关 conda 的帮助,pip 只是想看看会发生什么。我设法从 whl 文件安装 pyarrow,然后将其删除并从 conda 安装 0.15.1。 @Peter 我有一个全新的 conda 安装,所以你提到的依赖项已经安装了。
    • 因此,当您实际使用我的答案时:这是否可以证明投反对票是合理的?毕竟我花了很多时间来帮助你......
    猜你喜欢
    • 2021-12-20
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    相关资源
    最近更新 更多