Установка подушки выполнена успешно, сбой во время выполнения (Big Sur, M1, arm64) - проблема с Pip или Brew для модулей

Как мне сообщить pip, где Pillow нужно искать модули Pillow (например, libjpeg, libtiff?) Я использую OSX Big Sur, архитектуру arm64 и мне нужен Python 3.8 для запуска Keras.

В соответствии с инструкциями на веб-сайте homebrew я установил python 3.8 и его пакеты в /opt/homebrew/lib/python3.8/

      python3 -m pip install Pillow --no-cache-dir 
Collecting Pillow
  Downloading Pillow-8.1.0.tar.gz (44.9 MB)
     |████████████████████████████████| 44.9 MB 1.3 MB/s 
Building wheels for collected packages: Pillow
  Building wheel for Pillow (setup.py) ... done
  Created wheel for Pillow: filename=Pillow-8.1.0-cp38-cp38-macosx_11_0_arm64.whl size=528914 sha256=fa6d3dac05ed7f101de315304c41aa43b86b622a41ee745ab28f9376bc65b9ab
  Stored in directory: /private/var/folders/nw/40xtxx5s5rld0d0hddbndnf00000gn/T/pip-ephem-wheel-cache-3ob_jkx9/wheels/4e/db/04/9dcbaf9865568850d9bbdeb9b6b697e70f804d18e7e8aac050
Successfully built Pillow
Installing collected packages: Pillow
Successfully installed Pillow-8.1.0

Когда я вызвал Python с

      import PIL
from PIL import Image

У меня появляется следующее сообщение об ошибке

      from PIL import Image
  File "/Users/name/Library/Python/3.8/lib/python/site-packages/PIL/Image.py", line 94, in <module>
    from . import _imaging as core
ImportError: dlopen(/Users/name/Library/Python/3.8/lib/python/site-packages/PIL/_imaging.cpython-38-darwin.so, 2): Symbol not found: _jpeg_resync_to_restart
  Referenced from: /Users/name/Library/Python/3.8/lib/python/site-packages/PIL/_imaging.cpython-38-darwin.so
  Expected in: flat namespace
 in /Users/francis/Library/Python/3.8/lib/python/site-packages/PIL/_imaging.cpython-38-darwin.so

сейчас же brew install libjpeg успешно установил libjpeg, но ошибка осталась.

Поэтому я вручную установил libjpeg в / usr / local / lib и решил проблему.

      curl -L -O http://ijg.org/files/jpegsrc.v9d.tar.gz
tar -xvf jpegsrc.v9d.tar.gz
cd jpeg-9d
./configure CFLAGS="-arch arm64" CXXFLAGS="-arch arm64" LDFLAGS="-arch arm64" CC="clang"
make
sudo make install

Только для того, чтобы произошла следующая ошибка - отсутствующий libtiff. Тем не менее, libtiff уже готов и установлен по адресу /opt/homebrew/Cellar/libtiff/4.2.0. Опять же, это не так, теперь Pillow выдает эту ошибку во время выполнения:

      …
ImportError: dlopen(/Users/name/Library/Python/3.8/lib/python/site-packages/PIL/_imaging.cpython-38-darwin.so, 2): Symbol not found: _TIFFClientOpen
  Referenced from: /Users/name/Library/Python/3.8/lib/python/site-packages
…

Как мне решить эту проблему, помимо установки libtiff вручную (потому что она продолжается с другими модулями, не так ли)?

0 ответов

Другие вопросы по тегам