python - 在 Mac OS X 上使用 Conda 安装 pyzbar 时出错
问题描述
我正在尝试将项目从 Python 3 venv 转换为 Conda。但是,它不适用于 Conda,显然是因为没有支持 macOS 的存储库。
这是令人失望的,因为在原始项目中使用brew
和pip
安装zbar
和工作正常。pyzbar
很明显,这些文件存在,但不能通过 Conda repos 获得。我在某处错过了回购吗?如果没有,有没有办法屏蔽下载的包pip
并brew
进入 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
解决方案
是的,似乎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 获得,并且似乎得到了一致的维护。
推荐阅读
- string - 从空格分隔的单行用户输入中制作学生字典,其中名称将是键,考试编号列表将是值
- matlab - Matlab 脚本无法根据另一列的值正确计算分类变量
- python - 如何调出包含相同字母串的所有项目?
- php - 解密 Laravel 加密值
- java - 从数组列表中返回第一个索引,其中发现字符串逻辑混乱
- excel - VBA/宏:如何拆分 excel 工作表并使用不同的密码保护每张工作表?
- sql - XML 将 txt 文件导入到 SQL。重复的 ID 错误消息?
- python - 在python(tkinter)的前端显示时如何删除数据库数据格式?
- vega-lite - 根据颜色条件更新 Vega-lite 图例颜色
- java - 带有嵌套循环的 Java 10x10 数组