Проблемы с установкой Pycairo какие-либо предложения о том, что попробовать дальше? - PullRequest
2 голосов
/ 20 марта 2020

Я пытался установить pycairo в течение трех дней, и мне было интересно, мог ли кто-нибудь воспроизвести ошибку или я медленно начинаю сходить с ума. Я рад любой помощи или предложениям.

Что я пробовал: я посмотрел ответы от Установка PyCairo на Windows и Как установить PyCairo (Каир для Python) на Windows? .

Я попытался установить pycairo, используя файл, загруженный из Python пакетов расширений для Windows, но там указано ERROR: pycairo-1.19.1-cp38-cp38-win32.whl is not a supported wheel on this platform. Я использовал следующую команду pip install "C:\Users\...\Downloads\pycairo-1.19.1-cp38-cp38-win32.whl"

Я попытался установить pycairo через pip pip install pycairo, которая выдает мне очень длинное сообщение об ошибке:

Collecting pycairo
  Using cached pycairo-1.19.1.tar.gz (205 kB)
Installing collected packages: pycairo
    Running setup.py install for pycairo ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\users\caspa\appdata\local\programs\python\python37-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\caspa\\AppData\\Local\\Temp\\pip-install-tjiuwot4\\pycairo\\setup.py'"'"'; __file__='"'"'C:\\Users\\caspa\\AppData\\Local\\Temp\\pip-install-tjiuwot4\\pycairo\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\caspa\AppData\Local\Temp\pip-record-pbvjvlu1\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\caspa\appdata\local\programs\python\python37-32\Include\pycairo'
         cwd: C:\Users\caspa\AppData\Local\Temp\pip-install-tjiuwot4\pycairo\
    Complete output (18 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.7
    creating build\lib.win32-3.7\cairo
    copying cairo\__init__.py -> build\lib.win32-3.7\cairo
    copying cairo\__init__.pyi -> build\lib.win32-3.7\cairo
    copying cairo\py.typed -> build\lib.win32-3.7\cairo
    running build_ext
    building 'cairo._cairo' extension
    creating build\temp.win32-3.7
    creating build\temp.win32-3.7\Release
    creating build\temp.win32-3.7\Release\cairo
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DPYCAIRO_VERSION_MAJOR=1 -DPYCAIRO_VERSION_MINOR=19 -DPYCAIRO_VERSION_MICRO=1 -Ic:\users\caspa\appdata\local\programs\python\python37-32\include -Ic:\users\caspa\appdata\local\programs\python\python37-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.7.2\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /Tccairo/device.c /Fobuild\temp.win32-3.7\Release\cairo/device.obj
    device.c
    C:\Users\caspa\AppData\Local\Temp\pip-install-tjiuwot4\pycairo\cairo\pycairo.h(37): fatal error C1083: Datei (Include) kann nicht ge”ffnet werden: "cairo.h": No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\bin\\HostX86\\x86\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\caspa\appdata\local\programs\python\python37-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\caspa\\AppData\\Local\\Temp\\pip-install-tjiuwot4\\pycairo\\setup.py'"'"'; __file__='"'"'C:\\Users\\caspa\\AppData\\Local\\Temp\\pip-install-tjiuwot4\\pycairo\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\caspa\AppData\Local\Temp\pip-record-pbvjvlu1\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\caspa\appdata\local\programs\python\python37-32\Include\pycairo' Check the logs for full command output.

При попытке вывести то же сообщение об ошибке установить PyGoject , который содержит pycairo через pip.

Я нашел что-то, что должно исправить ошибку, но, к сожалению, ссылка на форуме мертва. Я пошел на официальную страницу загрузки (я верю) cairographics.org , а также мертвую ссылку.

РЕДАКТИРОВАТЬ: я забыл упомянуть еще одну вещь, которую я пытался, я пошел на Каирские документы по началу работы , но, к сожалению, это только для Ubuntu / Linux / IOS.

Ответы [ 2 ]

0 голосов
/ 10 мая 2020

Я новичок с Python, поэтому я не совсем уверен, что происходит, но это работает для меня. Просто измените " pip " на " pip3 ", и это будет волшебным образом работать. На момент написания этой статьи я использовал Python 3.8 64-битную, поэтому моя команда такова:

pip3 install pycairo-1.19.1-cp38-cp38-win_amd64.whl

Насколько я понимаю, это кажется несовместимостью, поскольку Python 2 жизнь закончилась и потерял поддержку только в начале этого года. Так что почти весь учебник устарел и не работал.

0 голосов
/ 12 апреля 2020

Я тоже столкнулся с подобной ошибкой, так что вот что сработало для меня. Go до https://pycairo.readthedocs.io/en/latest/getting_started.html для получения дополнительной информации. Вам нужно будет выполнить одну из этих пяти команд, чтобы настроить pkg-config на вашем компьютере до запуска команды установки.

  • Ubuntu / Debian: sudo apt install libcairo2-dev pkg-config python3-dev
  • macOS / Homebrew: brew install cairo pkg-config
  • Arch Linux: sudo pacman -S cairo pkgconf
  • Fedora: sudo dnf install cairo-devel pkg-config python3-devel
  • penSUSE: sudo zypper install cairo-devel pkg-config python3-devel

Затем запустите: import cairo

Надеюсь, что работает!

...