【问题标题】:How to install mediapipe with miniforge3?如何使用 miniforge3 安装 mediapipe?
【发布时间】:2022-06-14 12:40:00
【问题描述】:

我在新的 Mac M1 上尝试在同一个 Conda 环境中安装 mediapipe 和 TensorFlow。在 M1 上安装这两个库似乎有很多问题。我终于能够使用本教程安装 TensorFlow:

https://betterprogramming.pub/installing-tensorflow-on-apple-m1-with-new-metal-plugin-6d3cb9cb00ca

本教程需要 Miniforge3 包管理器和 python 3.9。

我使用 miniforge3 创建了一个 Conda 环境,TensorFlow 现在运行良好。

现在,当我尝试使用以下任一命令将 mediapipe 安装到此环境中时:

pip install mediapipe

 ~/miniforge3/envs/vision/bin/pip install mediapipe

我收到此错误:

ERROR: Could not find a version that satisfies the requirement mediapipe (from versions: none)
ERROR: No matching distribution found for mediapipe

我做了一些查找,发现 mediapipe 与 python >3.7 存在问题。

我尝试使用以下命令降级 python:

conda install python=3.x

我能够降级到 3.8,但不能更低。 Conda 未找到 Python 3.6 和 3.7:

(base) % conda install python=3.7
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:

  - python=3.7

Current channels:

  - https://conda.anaconda.org/conda-forge/osx-arm64
  - https://conda.anaconda.org/conda-forge/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

我该怎么办?我需要同时使用 mediapipe 和 TensorFlow。

【问题讨论】:

  • 我认为 mediapipe 没有任何适用于 M1 架构的轮子。使用 Rosetta 以非本地方式运行是您的一个选项
  • 我刚刚发现了一篇描述使用 Rosetta 进行安装的 SO 帖子。我从未使用过 Rosetta,但它看起来对这种情况很有用。这是帖子:stackoverflow.com/questions/68659865/…
  • @FlyingTeller 计划在 Apple GPU 上使用 TensorFlow,那么仿真将不是一个可行的选择。
  • macOS 会在遇到 x86_64 二进制文件时提示您安装 Rosetta - 无需手动下载。操作系统将自动运行带有 Rosetta 的非本地二进制文件,因此也无需专门启动东西。但是,正如我的其他评论所提到的,如果计划将 TensorFlow 与 GPU 一起使用,您可能需要一个原生环境。
  • 我正在添加一个 OpenCV 标签,因为这是 MediaPipe 的一个关键先决条件,并且该社区可能对非 Conda 解决方案有更易于处理的建议。例如,homebrew 目前似乎对 M1 有更好的支持,至少从我在 Conda Forge 原料上看到的喋喋不休来看。

标签: python tensorflow opencv conda mediapipe


【解决方案1】:

首先,你得先设置好你的python环境,然后再考虑如何安装mediapipe

我在拿到新的 M1 笔记本电脑后遇到了类似的问题,最后通过使用命令模拟 x86_64 Python 架构解决了:

CONDA_SUBDIR=osx-64 conda create -n Env37 python=3.7

完成此操作后,您可以使用以下命令激活此 Python 3.7 环境:

source activate Env37

然后运行pip install mediapipe 来安装这个特定的python 包。

【讨论】:

    【解决方案2】:

    我的解决方案也是使用 Python 3.7 和 x86_64 架构创建一个 conda 环境。 Mediapipe 需要 Python 3.7 才能使用 TensorFlow (https://google.github.io/mediapipe/getting_started/install.html)。

    1. 按照本教程在 M1 (https://towardsdatascience.com/installing-tensorflow-on-the-m1-mac-410bb36b776) 上安装 tensorflow 直到第 3 点。

    2. 对于第 4 点,下载具有 tensorflow 依赖项 (https://raw.githubusercontent.com/mwidjaja1/DSOnMacARM/main/environment.yml) 的 environment.yml 文件,但将“python=3.8”行修改为“python=3.7”。然后使用 x86_64 架构创建 conda 环境:

    CONDA_SUBDIR=osx-64 conda env create --file=environment.yml --name my_env
    
    1. 激活环境
    conda activate my_env 
    
    1. 安装 mediapipe 包,以及 opencv 等其他包。
    pip install mediapipe
    pip install opencv-python
    
    1. 检查是否已安装所有软件包。
    Python
    >>> import tensorflow
    >>> import mediapipe
    >>> import cv2
    

    【讨论】:

      猜你喜欢
      • 2021-07-28
      • 2021-03-18
      • 2021-11-02
      • 2022-01-10
      • 2022-11-24
      • 2022-06-15
      • 2021-10-10
      • 2023-01-01
      • 1970-01-01
      相关资源
      最近更新 更多