簡體   English   中英

無法 pip 在 Macos M1 上安裝 mediapipe

[英]Cannot pip install mediapipe on Macos M1

在此處輸入圖像描述

你好伙計們

我正在使用帶有 M1 芯片的 mac air

我的環境設置像

(CV)  san  ~/work/python
 conda list
# packages in environment at /Users/san/miniforge3/envs/CV:
#
# Name                    Version                   Build  Channel
appnope                   0.1.2                    pypi_0    pypi
argon2-cffi               20.1.0                   pypi_0    pypi
async-generator           1.10                     pypi_0    pypi
attrs                     21.2.0                   pypi_0    pypi
backcall                  0.2.0                    pypi_0    pypi
bleach                    3.3.1                    pypi_0    pypi
ca-certificates           2021.5.30            h4653dfc_0    conda-forge
certifi                   2021.5.30        py38h10201cd_0    conda-forge
cffi                      1.14.6           py38h0957451_0    conda-forge
charset-normalizer        2.0.3                    pypi_0    pypi
cycler                    0.10.0                   pypi_0    pypi
debugpy                   1.4.0                    pypi_0    pypi
decorator                 5.0.9                    pypi_0    pypi
defusedxml                0.7.1                    pypi_0    pypi
entrypoints               0.3                      pypi_0    pypi
freetype                  2.10.4               h17b34a0_1    conda-forge
future                    0.18.2           py38h10201cd_3    conda-forge
idna                      3.2                      pypi_0    pypi
ipykernel                 6.0.3                    pypi_0    pypi
ipython                   7.25.0                   pypi_0    pypi
ipython-genutils          0.2.0                    pypi_0    pypi
ipywidgets                7.6.3                    pypi_0    pypi
jbig                      2.1               h3422bc3_2003    conda-forge
jedi                      0.18.0                   pypi_0    pypi
jinja2                    3.0.1                    pypi_0    pypi
joblib                    1.0.1              pyhd8ed1ab_0    conda-forge
jpeg                      9d                   h27ca646_0    conda-forge
jsonschema                3.2.0                    pypi_0    pypi
jupyter                   1.0.0                    pypi_0    pypi
jupyter-client            6.1.12                   pypi_0    pypi
jupyter-console           6.4.0                    pypi_0    pypi
jupyter-core              4.7.1                    pypi_0    pypi
jupyterlab-pygments       0.1.2                    pypi_0    pypi
jupyterlab-widgets        1.0.0                    pypi_0    pypi
kiwisolver                1.3.1                    pypi_0    pypi
lcms2                     2.12                 had6a04f_0    conda-forge
lerc                      2.2.1                h9f76cd9_0    conda-forge
libblas                   3.9.0                9_openblas    conda-forge
libcblas                  3.9.0                9_openblas    conda-forge
libcxx                    12.0.1               h168391b_0    conda-forge
libdeflate                1.7                  h27ca646_5    conda-forge
libffi                    3.3                  h9f76cd9_2    conda-forge
libgfortran               5.0.0.dev0      11_0_1_hf114ba7_22    conda-forge
libgfortran5              11.0.1.dev0         hf114ba7_22    conda-forge
liblapack                 3.9.0                9_openblas    conda-forge
libopenblas               0.3.15          openmp_hf330de4_1    conda-forge
libpng                    1.6.37               hf7e6567_2    conda-forge
libprotobuf               3.16.0               hccf11d3_0    conda-forge
libtiff                   4.3.0                hc6122e1_1    conda-forge
libwebp-base              1.2.0                h27ca646_2    conda-forge
llvm-openmp               12.0.1               hf3c4609_0    conda-forge
lz4-c                     1.9.3                h9f76cd9_0    conda-forge
markupsafe                2.0.1                    pypi_0    pypi
matplotlib                3.4.2                    pypi_0    pypi
matplotlib-inline         0.1.2                    pypi_0    pypi
mistune                   0.8.4                    pypi_0    pypi
nbclient                  0.5.3                    pypi_0    pypi
nbconvert                 6.1.0                    pypi_0    pypi
nbformat                  5.1.3                    pypi_0    pypi
ncurses                   6.2                  h9aa5885_4    conda-forge
nest-asyncio              1.5.1                    pypi_0    pypi
ninja                     1.10.2               h4d860bb_0    conda-forge
notebook                  6.4.0                    pypi_0    pypi
numpy                     1.18.5                   pypi_0    pypi
olefile                   0.46               pyh9f0ad1d_1    conda-forge
openjpeg                  2.4.0                h062765e_1    conda-forge
openssl                   1.1.1k               h27ca646_0    conda-forge
packaging                 21.0                     pypi_0    pypi
pandocfilters             1.4.3                    pypi_0    pypi
parso                     0.8.2                    pypi_0    pypi
pexpect                   4.8.0                    pypi_0    pypi
pickleshare               0.7.5                    pypi_0    pypi
pillow                    8.3.1            py38h02acf36_0    conda-forge
pip                       21.1.3             pyhd8ed1ab_0    conda-forge
prometheus-client         0.11.0                   pypi_0    pypi
prompt-toolkit            3.0.19                   pypi_0    pypi
ptyprocess                0.7.0                    pypi_0    pypi
pycparser                 2.20               pyh9f0ad1d_2    conda-forge
pygments                  2.9.0                    pypi_0    pypi
pyparsing                 2.4.7                    pypi_0    pypi
pyrsistent                0.18.0                   pypi_0    pypi
python                    3.8.6           h12cc5a1_5_cpython    conda-forge
python-dateutil           2.8.2                    pypi_0    pypi
python_abi                3.8                      2_cp38    conda-forge
pytorch                   1.8.0           cpu_py38h15dfef8_2    conda-forge
pyzmq                     22.1.0                   pypi_0    pypi
qtconsole                 5.1.1                    pypi_0    pypi
qtpy                      1.9.0                    pypi_0    pypi
readline                  8.1                  hedafd6a_0    conda-forge
requests                  2.26.0                   pypi_0    pypi
scikit-learn              0.24.2           py38h26428f7_1    conda-forge
scipy                     1.7.0            py38hd0c9ec0_0    conda-forge
send2trash                1.7.1                    pypi_0    pypi
setuptools                49.6.0           py38h10201cd_3    conda-forge
six                       1.16.0                   pypi_0    pypi
sleef                     3.5.1                h27ca646_1    conda-forge
sqlite                    3.36.0               h72a2b83_0    conda-forge
terminado                 0.10.1                   pypi_0    pypi
testpath                  0.5.0                    pypi_0    pypi
threadpoolctl             2.2.0              pyh8a188c0_0    conda-forge
tk                        8.6.10               hf7e6567_1    conda-forge
torchtext                 0.10.0                   pypi_0    pypi
torchvision               0.9.0           py38h4ddca67_0_cpu    conda-forge
tornado                   6.1                      pypi_0    pypi
tqdm                      4.61.2                   pypi_0    pypi
traitlets                 5.0.5                    pypi_0    pypi
typing_extensions         3.10.0.0           pyha770c72_0    conda-forge
urllib3                   1.26.6                   pypi_0    pypi
wcwidth                   0.2.5                    pypi_0    pypi
webencodings              0.5.1                    pypi_0    pypi
wheel                     0.36.2             pyhd3deb0d_0    conda-forge
widgetsnbextension        3.5.1                    pypi_0    pypi
xz                        5.2.5                h642e427_1    conda-forge
zlib                      1.2.11            h31e879b_1009    conda-forge
zstd                      1.5.0                h861e0a7_0    conda-forge

和 python 版本是

(CV)  san  ~/work/python
 python --version
Python 3.8.6

所以我看到的是

(CV)  san  ~/work/python
 pip install mediapipe
ERROR: Could not find a version that satisfies the requirement mediapipe (from versions: none)
ERROR: No matching distribution found for mediapipe

所以,我已經嘗試解決這個問題好幾個星期了,但是很多人給了我們(像我一樣遭受這個問題困擾的人),比如

1.降級python版本

2.將 bazel 從 4.x 降級到 3.7.2

但是 python 版本在 mediapipe 上並不重要,我不確定,但 bazel 上的 mediapipe 適用於 C++ 或其他東西,但無論如何都沒有辦法降級它。 (你可以在這里看到它)

有什么解決辦法???

以下答案由 GitHub 上的用戶josiahsrc提供。

以下是您需要采取的步驟才能將mediapipe與 Apple 的 M1 一起使用:

  1. 使用Rosetta 2 轉換層啟動終端。 您可以通過打開Finder ,轉到Applications > Utilities並右鍵單擊Terminal來執行此操作。 在右鍵菜單中,單擊get-info ,然后勾選Open Using Rosetta復選框。
  2. 打開一個新的終端窗口。 (如果以前打開過終端,請退出並重新啟動它)。
  3. 使用以下命令為 x86_64 架構安裝 Homebrew。 arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 我們這樣做是因為我們想為支持mediapipe的 x86_64 安裝 Python 3.8。
  4. 現在我們有了 brew for x86_64,我們可以通過運行命令arch -x86_64 /usr/local/homebrew/bin/brew install python@3.8為 x86_64 安裝 Python 3.8。 此安裝可能需要一段時間。
  5. 現在我們有了所需的 Python 版本,我們可以創建一個新的虛擬環境。 通過使用命令arch -x86_64 /usr/local/homebrew/opt/python@3.8/bin/python3 -m venv myvenv 請記住,您需要指定 x86_64 Python(我們剛剛安裝的那個)的路徑。 對我來說,它安裝到/usr/local/homebrew/opt/python@3.8/bin/python3 對你來說可能會有所不同。 無論哪種方式,在 Brew 完成 Python 安裝后,它都會顯示它的安裝路徑。 您應該看到“Python 安裝在/Path/to/newly/installed/python ”。 此外,虛擬環境將在~/myvenv創建。 您可以通過更改命令中的myvenv部分來更改它。
  6. 啟動您的虛擬環境source ~/myvenv/bin/activate 我使用這條路徑~/myvenv因為那是我創建虛擬環境的地方。 如果您在其他地方創建了虛擬環境,請使用該路徑。
  7. 現在您應該在虛擬環境中,升級 pip。 pip install --upgrade pip
  8. 從 pip 安裝mediapipepip install mediapipe

就是這樣 :) 例如,現在您可以在 PyCharm 中將 venv 作為項目打開。 將解釋器指定為我們剛剛安裝的 x86_64 Python 的路徑(例如/usr/local/homebrew/opt/python@3.8/bin/python3 )。 現在您應該可以使用mediapipe

pip install mediapipe-silicon

看到這里了解更多信息

另請查看https://github.com/cansik/mediapipe-silicon上的自述文件

您可能需要將protobuf降級到 3.20.1 或更低版本。

跑步

pip uninstall protobuf
pip install protobuf==3.20.1

...為我工作。

我也面臨同樣的問題,但這對我有用,這也是在 Mac m1 上下載mediapipe的最佳且安全的方法。

pip install mediapipe-silicon

如果您不介意每次都設置拱門,這也可以。

$ arch -x86_64 pip install mediapipe
$ arch -x86_64 python
>>> import mediapipe as mp

編輯:在這個答案的時候,PyPi 只有適用於 MacOS 的 Python3.8,所以確保你有一個相同的虛擬環境。

最好的方法是從源代碼構建媒體管道:

1-安裝依賴項:

brew install bazelisk
brew install opencv@3
# There is a known issue caused by the glog dependency. Uninstall glog.
brew uninstall --ignore-dependencies glog
pip3 install --user six

2-結帳 MediaPipe 存儲庫:

git clone https://github.com/google/mediapipe.git
cd mediapipe

3-構建:

python3.9 setup.py install

我在 Mac m1 上安裝 mediapipe 時遇到問題,這對我有用

pip install mediapipe-silicon

看了很多網友的回答,歸根結底都是mediapipe沒有適配M1 macbook造成的。 這是當前 M1 macbook 的困境!

我正在使用 Macbook Air M1 2020,這對我來說非常有用

$ 拱 -x86_64 點安裝媒體管道

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM