首页 > 解决方案 > 在 Mac OS X 上使用 Conda 安装 pyzbar 时出错

问题描述

我正在尝试将项目从 Python 3 venv 转换为 Conda。但是,它不适用于 Conda,显然是因为没有支持 macOS 的存储库。

这是令人失望的,因为在原始项目中使用brewpip安装zbar和工作正常。pyzbar很明显,这些文件存在,但不能通过 Conda repos 获得。我在某处错过了回购吗?如果没有,有没有办法屏蔽下载的包pipbrew进入 Conda 环境?

这是我尝试过的。

看到说明说要使用conda install -c lightsource2-tag pyzbar. 但是,Conda 无法解决(本说明底部的完整错误消息)。

这似乎与搜索https://anaconda.org/search?q=pyzbar的结果一致。列出的唯一存储库适用于 Linux 和 win32。

(NewUI_conda) BlueMorph: /Users/Wes 12:16
516$ conda install -c lightsource2-tag pyzbar
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - pyzbar

Current channels:

  - https://conda.anaconda.org/lightsource2-tag/osx-64
  - https://conda.anaconda.org/lightsource2-tag/noarch
  - https://conda.anaconda.org/conda-forge/osx-64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://repo.anaconda.com/pkgs/main/osx-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/osx-64
  - https://repo.anaconda.com/pkgs/r/noarch

标签: pythonmacoscondazbar

解决方案


是的,似乎pyzbar无法通过 Anaconda Cloud 渠道获得osx-64平台。相反,可以(谨慎地)混合使用 PyPI 和 Conda 包。例如,基本的 YAML 定义类似于:

zbar_env.yaml

name: zbar_env
channels:
 - conda-forge
 - defaults
dependencies:
 - python=3
 - zbar
 - pip
 - pip:
   - pyzbar

可以通过以下方式实例化:

conda env create -f zbar_env.yaml

根据混合 PyPI 和 Conda 的建议,从一开始就将所有要求放在此 YAML 文件中。如果您需要添加新内容,请编辑 YAML 并重新创建 env。


或者,您可以切换到zbarlight它可通过 Conda Forge 获得,并且似乎得到了一致的维护。


推荐阅读