2011-01-07 13 views
14

मैं एक छोटा ऐप बना रहा हूं जो पीईक्यूटी का उपयोग करता है और यह सोचता है कि setup.py में निर्भरता घोषित करना अच्छा होगा।क्या setuptools setup.py से PyQt की आवश्यकता हो सकती है?

हालांकि, this blog के अनुसार (पहली बार pyqt setuptools के लिए Google पर हिट) कहता है कि यह नहीं किया जा सकता है, और अंतिम अनुच्छेद here इसे करने का प्रयास नहीं करता है।

विचार? शायद मुझे 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') 
+0

यहां देखें: http://pypi.python.org/pypi/PyQt/4.8.2 – mouad

+1

@singularity: वह पृष्ठ मदद नहीं करता है, वहाँ कुछ भी डाउनलोड करने योग्य नहीं है कि setup.py वहां उपयोग कर सकता है, या लिंक- पृष्ठों – Macke

+0

किसी को भी पता है कि यह अभी भी पायथन 3 और पीईक्यूटी 5 के लिए सच है? – Elric

उत्तर

3

जबकि स्वीकृत उत्तर मूल रूप से Python Wheels सही था, तो स्रोत से संकलन की आवश्यकता के बिना पीईक्यूटी 5 जैसे सी एक्सटेंशन पैकेज स्थापित करने का साधन प्रदान करें।

पीईपीआई में वर्तमान में सहित कई प्लेटफ़ॉर्म के लिए Python3 पर PyQt5 के लिए .whl फ़ाइलें हैं।

[email protected] ~ $ 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 में एक सामान्य निर्भरता के रूप में निर्दिष्ट करने के लिए कोई समस्या नहीं होनी चाहिए: उदाहरण के लिए, इस उत्पादन पर एक मैक python3 पर जब पिप: स्थापित करने PyQt5 है।

6

ठीक है, PyQT पैकेज का इस्तेमाल नहीं कर रहे हैं distutils/इसके लिए setup.py स्थापना है, इसलिए वे नहीं किया जा सकता easy_install या पीपी के साथ स्थापित किया गया। आपको इसे मैन्युअल रूप से डाउनलोड और इंस्टॉल करने की आवश्यकता है।

भी इसका मतलब है कि आपको चाहिए नहीं यह आपके requires मेटाडाटा में easy_install के रूप में रखा, और पिप तो यह स्थापित करने और असफल करने की कोशिश करेंगे।

मुझे नहीं पता कि पीईसाइड कोई अच्छा है या नहीं, लेकिन setup.py भी नहीं है, और easy_install/pip के साथ स्थापित करने से इंकार कर दिया है, इसलिए एक अच्छा विकल्प नहीं है। :)

दूसरा विकल्प PyQt को distutils के साथ पुन: पैकेज करना है, लेकिन यह बहुत काम हो सकता है।

+0

हाय, चूंकि यह थोड़ी देर पहले है, मैं वही बात फिर से पुष्टि करना चाहता था। क्या PyQt4 अभी भी Pypi पर उपलब्ध नहीं है? – gravetii

+0

@gravetii: ऐसा लगता है कि यह अब उपलब्ध है: https://pypi.python.org/pypi/PyQt4/4.10.3 – dotancohen

+2

@ डॉटनकोहेन: नहीं, यह अभी भी मेटाडेटा वाला कोई पृष्ठ नहीं है, कोई डाउनलोड नहीं है। – Macke

2

जबकि आप pip install pyqt5 अब उपलब्ध व्हील (जैसे @mfitzp द्वारा सुझाए गए) के लिए धन्यवाद कर सकते हैं, से install_requires के माध्यम से इसकी आवश्यकता नहीं हो सकती है। कारण यह है कि setuptools पता नहीं है कि pip पहियों को कैसे स्थापित करें, और पीईक्यूटी 5 केवल पीईपीआई पर पहियों के रूप में उपलब्ध है (कोई स्रोत वितरण नहीं है, यानी tar.gz फ़ाइल नहीं है)। विवरण के लिए यह email और bug report देखें।

संबंधित मुद्दे