समय-समय पर मैं एक स्थिति है जहाँ मैं एक पैकेज है कि या तो पैकेज एक या बीअजगर कई निर्भरता
उदाहरण के लिए पर निर्भर कर सकता है के पार चलो के किसी भी, अपने प्रोजेक्ट एक पैकेज spam
कहा जाता है पर, निर्भर करता है इस करता है, तो परियोजना का नाम बदलकर pyspam
कर दिया गया है, मेरी परियोजना या तो spam
या pyspam
पर निर्भर कर सकती है।
मैं पता नहीं लगा सकता (या ढूंढ सकता हूं) मैं setup.py में ऐसी निर्भरताओं को कैसे परिभाषित करूंगा। इसे हल करने के लिए एक आम तौर पर स्वीकार्य तरीका क्या है?
संपादित करें: मैं setup.py
में निर्भरताओं को परिभाषित करना चाहता हूं। कुछ इस तरह:
from setuptools import setup
setup(
name='myproject',
install_requires=[
'spam || pyspam'
]
)
बिल्कुल वही नहीं जो मैं ढूंढ रहा हूं। यदि न तो पैकेज स्थापित है, तो आपके उदाहरण में 'pyspam' स्थापित है। दुर्भाग्य से परिदृश्यों का कोई संचालन नहीं है जहां पैकेज शायद मौजूद नहीं हो सकता है (दूरस्थ रूप से)। ऐसे मामले में एक निर्भरता फॉलबैक के रूप में काम कर सकती है। यह उत्तर शायद ज्यादातर मामलों में काम करेगा, इसलिए +1। – siebz0r
ठीक है, आपको उनमें से एक को पसंदीदा व्यक्ति के रूप में परिभाषित करना है, है ना? बस गायब होने के मामले में दूसरे को पसंदीदा बनाने के लिए ऑर्डर को उलट दें। – bosnjak
यदि कोई पैकेज एक पिपी सर्वर पर (अभी तक) मौजूद नहीं है, तो इंस्टॉल विफल हो जाता है। इसके बजाय इसे अन्य पैकेज लाने की कोशिश करनी चाहिए क्योंकि यह निर्भरता को भी संतुष्ट करता है। – siebz0r