在 Mac OS X 上使用 Conda 安装 pyzbar 时出错

Error installing pyzbar with Conda on Mac OS X

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

这令人失望,因为在原始项目中使用 brewpip 安装 zbarpyzbar 工作正常。很明显,这些文件存在但无法通过 Conda 存储库获得。我在某处缺少回购协议吗?如果没有,是否有办法将使用 pipbrew 下载的软件包撬入 Conda 环境?

这是我试过的方法。

see instructions说用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

是的,pyzbar 似乎无法通过 osx-64 平台的 Anaconda Cloud 渠道获得。相反,可以(谨慎地)混合使用 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

根据 the recommendations for mixing PyPI and Conda,从一开始就将所有需求放在这个 YAML 文件中。如果您需要添加新内容,请编辑 YAML 并重新创建环境。


或者,您可以切换到 zbarlightwhich is available through Conda Forge 并且似乎一直得到维护。