में requirements.txt
मैं उपयोग कर रहा हूँ एक अजगर पुस्तकालय के लिए, आवश्यकताओं में से एक की तरह निर्दिष्ट किया जाता है:
mock-django~=0.6.10
क्या ~=
मतलब है?
में requirements.txt
मैं उपयोग कर रहा हूँ एक अजगर पुस्तकालय के लिए, आवश्यकताओं में से एक की तरह निर्दिष्ट किया जाता है:
mock-django~=0.6.10
क्या ~=
मतलब है?
जवाबों:
इसका मतलब है कि यह पैकेज के नवीनतम संस्करण का चयन करेगा, जो 0.6.10 से अधिक या इसके बराबर है, लेकिन अभी भी 0.6। * संस्करण में है, इसलिए यह उदाहरण के लिए 0.7.0 डाउनलोड नहीं करेगा। यह सुनिश्चित करता है कि आपको सुरक्षा सुधार मिलेंगे, लेकिन बैकवर्ड-कम्पैटिबिलिटी बनाए रखेंगे, अगर पैकेज मेंटेनर सिमेंटिक वर्जनिंग का सम्मान करता है (जो बताता है कि ब्रेकिंग परिवर्तन केवल प्रमुख संस्करणों में होने चाहिए)।
या, पीईपी 440 द्वारा कहा गया है:
किसी दिए गए रिलीज़ पहचानकर्ता VN के लिए, संगत रिलीज़ क्लॉज़, तुलना क्लॉज़ की जोड़ी के बराबर है:
>= V.N, == V.*
यह 'संगत रिलीज़' संस्करण निर्दिष्ट है ।
यह इसके बराबर है: mock-django >= 0.6.10, == 0.6.*
और एक संस्करण से मेल खाने का एक अच्छा तरीका है जो संगत होने की उम्मीद है। सादे अंग्रेजी में, यह कहने के लिए थोड़ा सा है: "मुझे नकली-डीजेंगो के एक संस्करण की आवश्यकता है जो कम से कम 0.6.10 के रूप में नया है, लेकिन इतना नया नहीं है कि यह इसके साथ संगत नहीं है।"
यदि आप इस सभी संस्करण संख्या सामान के बारे में निश्चित नहीं हैं, तो PEP440 संस्करण योजना पर एक त्वरित नज़र आपको क्रमबद्ध करनी चाहिए!
एक संगत रिलीज़ क्लॉज़ में संगत रिलीज़ ऑपरेटर ~ = और एक संस्करण पहचानकर्ता होता है। यह किसी भी उम्मीदवार संस्करण से मेल खाता है जो निर्दिष्ट संस्करण के साथ संगत होने की उम्मीद है।
आप यहाँ और अधिक पढ़ सकते हैं: https://www.python.org/dev/peps/pep-0440/#compatible-release