Python 2.7, PIP: "Не удалось построить колесо для..."
Первый раз, используя pip, пытаясь использовать библиотеку учебников python-docs-samples. Когда я запускаю команду "python -m pip install -r requirements.txt", запускается много скриптов, но затем я получаю серию ошибок "Failed building wheel". Один из них показан в прикрепленном кодовом блоке (пожалуйста, прошу прощения, связанные с ручным вводом строк).
В чем проблема? Кто-нибудь видел это раньше? Я не изменял какие-либо части библиотеки или код, который ее использует, и я использую Python 2.7.12, который должен иметь хорошую встроенную поддержку PIP.
Running setup.py bdist_wheel for PyYAML ... error
Complete output from command C:\users\owner\python-docs-samples\env\Scripts\python.exe
-u -c "import setuptools, tokenize;__file__='c:\\users\\owner\\appdata\\local\\temp\\
pip-build-86ysrg\\PyYAML\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__)
.read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d c:\users\owner\appdata
\local\temp\tmpljy6z0pip-wheel- --python-tag cp27:
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win32-2.7
creating build\lib.win32-2.7\yaml
copying lib\yaml\composer.py -> build\lib.win32-2.7\yaml
copying lib\yaml\constructor.py -> build\lib.win32-2.7\yaml
copying lib\yaml\cyaml.py -> build\lib.win32-2.7\yaml
copying lib\yaml\dumper.py -> build\lib.win32-2.7\yaml
copying lib\yaml\emitter.py -> build\lib.win32-2.7\yaml
copying lib\yaml\error.py -> build\lib.win32-2.7\yaml
copying lib\yaml\events.py -> build\lib.win32-2.7\yaml
copying lib\yaml\loader.py -> build\lib.win32-2.7\yaml
copying lib\yaml\nodes.py -> build\lib.win32-2.7\yaml
copying lib\yaml\parser.py -> build\lib.win32-2.7\yaml
copying lib\yaml\reader.py -> build\lib.win32-2.7\yaml
copying lib\yaml\representer.py -> build\lib.win32-2.7\yaml
copying lib\yaml\resolver.py -> build\lib.win32-2.7\yaml
copying lib\yaml\scanner.py -> build\lib.win32-2.7\yaml
copying lib\yaml\serializer.py -> build\lib.win32-2.7\yaml
copying lib\yaml\tokens.py -> build\lib.win32-2.7\yaml
copying lib\yaml\__init__.py -> build\lib.win32-2.7\yaml
running build_ext
creating build\temp.win32-2.7
creating build\temp.win32-2.7\Release
checking if libyaml is compilable
error: [Error 2] The system cannot find the file specified
----------------------------------------
Failed building wheel for PyYAML
Running setup.py clean for PyYAML
Ответы
Ответ 1
Установить общие зависимости
sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-pil python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev
Ответ 2
Проблема заключается в Windows, где вы столкнетесь с проблемами зависимостей и создаете проблемы с расширениями C, если у вас нет установленной инструментальной метки компилятора.
Ручная установка двоичных версий некоторых зависимостей, таких как PyYAML, является одним из решений (например, с помощью easy_install, как предложено). Для создания двоичных колес из исходного кода вы также можете скачать бесплатный Visual С++ Compiler для Python 2.7 здесь:
https://www.microsoft.com/en-ca/download/details.aspx?id=44266
Ответ 3
Как уже упоминалось выше, проблема в Windows.
Вы можете скачать совместимые пакеты Python здесь:
Неофициальные двоичные файлы Windows для пакетов расширения Python
затем установите pip файл .whl
pip install path_2_file\package.whl
Ответ 4
Для меня эта проблема была решена в Ubuntu 16 путем обновления pip:
pip install --upgrade pip
Ответ 5
Попробуйте это (не уверен)
apt-get install -y pyyaml
Я получил сообщение об ошибке "Не удалось создать колесо для подпроцесса32
apt-get install -y python-subprocess32
Это сработало для меня!