Установка подушки выполнена успешно, сбой во время выполнения (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 вручную (потому что она продолжается с другими модулями, не так ли)?