Возможно ли потребовать PyQt из setuptools setup.py?

Я создаю небольшое приложение, которое использует PyQt, и было бы неплохо объявить эту зависимость в setup.py.

Однако, согласно этому блогу (первый раз на google для pyqt setuptools), он не может быть выполнен, и последний абзац здесь также не пытается это сделать.

Идеи? Возможно, я должен переключиться на PySide, который находится на PyPi ?

Обновить:

Очевидная install_requires = [ 'pyqt >= 0.7' ] в setup.py дает мне:

 D:\3rd\BuildBotIcon\my-buildboticon\python>setup.py test running test install_dir . Checking .pth file support in . C:\Python26-32\pythonw.exe -E -c pass Searching for pyqt>=4.7 Reading http://pypi.python.org/simple/pyqt/ Reading http://www.riverbankcomputing.com/software/pyqt/ Reading http://www.riverbankcomputing.com/software/pyqt/download No local packages or download links found for pyqt>=4.7 error: Could not find suitable distribution for Requirement.parse('pyqt>=4.7') 

3 Solutions collect form web for “Возможно ли потребовать PyQt из setuptools setup.py?”

Хотя принятый ответ был первоначально правильным, Python Wheels теперь предоставляют средства для установки пакетов расширения C, таких как PyQt5, без необходимости компиляции из источника.

PyPi в настоящее время имеет .whl файлы для PyQt5 на Python3 для нескольких платформ, включая MacOS X, Linux (любой), Win32 и Win64 . Например, это результат, когда pip-установка PyQt5 на Python3 на Mac:

 mfitzp@MacBook-Air ~ $ pip3 install pyqt5 Collecting pyqt5 Downloading PyQt5-5.6-cp35-cp35m-macosx_10_6_intel.whl (73.2MB) 100% |████████████████████████████████| 73.2MB 2.5kB/s Collecting sip (from pyqt5) Downloading sip-4.18-cp35-cp35m-macosx_10_6_intel.whl (46kB) 100% |████████████████████████████████| 49kB 1.8MB/s Installing collected packages: sip, pyqt5 Successfully installed pyqt5-5.6 sip-4.18 

Если вы нацеливаетесь на Python3 + PyQt5, у вас не должно возникнуть проблемы с настройкой PyQt5 как нормальной зависимости в setup.py .

Правильно, пакеты PyQT не используют distutils / setup.py для его установки, поэтому их нельзя установить с помощью easy_install или pip. Вам необходимо загрузить и установить его вручную.

Это также означает, что вы не должны помещать его в свои метаданные, так как easy_install и pip затем попытаются установить его и выйти из строя.

Я не знаю, хорошо ли PySide, но также не имеет setup.py, а также отказывается устанавливать с помощью easy_install / pip, поэтому не является хорошим вариантом. 🙂

Другим вариантом является переупаковка PyQt с distutils, но это может быть большой проблемой.

Пока вы можете pip install pyqt5 с помощью доступных колес (как предложено @mfitzp), это не может потребоваться с setup.py через install_requires . Причина в том, что setuptools не знает, как установить колеса, которые знает PyW, и PyQT5 доступен только в качестве колес на PyPI (нет дистрибутива источника, то есть файла tar.gz ). См. Это письмо и этот отчет об ошибке .

  • Не удалось установить python-setuptools: ./configure: Нет такого файла или каталога
  • Комбинированный модуль расширения Python & Ruby
  • Каковы наилучшие методы для создания распределений Python (яйца) в (и для) нескольких операционных системах
  • Выполните установку post-скрипта Python с помощью distutils / setuptools
  • Почему pip устанавливает старую версию моего пакета?
  • Как настроить setuptools для python 2.6 на Windows?
  • модуль не найден во время load_entry_point в Python
  • Как установить pip с Python 3?
  •  
    Interesting Posts for Van-Lav

    Хранить / извлекать структуру данных

    Pandon pandas не имеет атрибутов ols – Error (roll OLS)

    Переменные Globals и многопроцессорность Python

    Как перехватить вызовы на «волшебные» методы python в новых классах стилей?

    Ошибка локального языка Python: неподдерживаемая настройка локали

    Недопустимое имя команды во время выполнения (сценарий «после»)

    python – как получить число активных потоков, запущенных определенным классом?

    проверьте аргументы вызова unittest.mock agnostically по поводу того, были ли они переданы как позиционные аргументы или аргументы ключевых слов

    Как добавить пробел между двумя переменными после печати в Python

    Как рассчитать угол солнца над горизонтом, используя pyEphem

    Специальное использование args / kwargs

    Получить строку Номер определенной фразы в файле Python

    Функция для определения того, являются ли два числа почти равными при округлении до n значащих десятичных цифр

    Парамико не работает внутри Django, когда загружаются grequests

    Как отступать от списка Python?

    Python - лучший язык программирования в мире.