Возможно ли потребовать 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 ). См. Это письмо и этот отчет об ошибке .

  • Невозможно построить колесо - ошибка: неверная команда 'bdist_wheel'
  • Программно определить параметры системного прокси в Windows XP с помощью Python
  • Пользовательское расположение файла .pypirc
  • python setuptool Как я могу добавить зависимость для libxml2-dev и libxslt1-dev?
  • Предотвращение сбоя пакета python при настройке
  • Как удалить пакеты, установленные с помощью easy_install Python?
  • Установщик Windows, созданный с помощью setup.py bdist_wininst запускает RuntimeError при установке. Как это исправить?
  • Python Точка входа «console_scripts» не найдена
  •  
    Interesting Posts for Van-Lav

    Загрузка таблицы mysql в python занимает очень много времени по сравнению с R

    Gensim Doc2Vec Exception AttributeError: объект 'str' не имеет атрибутов 'words'

    Синхронизация по времени в Python: синтаксис против функции

    уникальный или множественный идентификатор словаря?

    Какие библиотеки python могут указать мне приблизительное местоположение и часовой пояс с учетом IP-адреса?

    Удалите пробелы в Python, используя string.whitespace

    Трудность доступа к файлу json с d3 и колбой

    Python Pandas: Как получить имена строк из индекса данных?

    Все поля в ModelSerializer django rest framework

    Как запустить текущий файл в PyCharm

    перенаправить вывод в текстовый файл с помощью оболочки Windows '>' в python

    Как я могу упростить это преобразование с подчеркивания на camelcase в Python?

    Туки пять резюме резюме в Python

    Использование InitSpider с всплеском: только анализ страницы входа?

    Портативный сервер Python com с использованием pywin32

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