प्रबंधित करना मेरे कार्यस्थल में, मुझे कई (वर्तमान में दसियों, लेकिन संभवतः सैकड़ों अंततः) पाइथन वेब अनुप्रयोगों का प्रबंधन करना है, संभावित रूप से विभिन्न ढांचे, पुस्तकालयों, आदि (सभी विभिन्न संस्करणों पर) चल रहे हैं। वर्चुअलएन्व अब तक प्रबंधन में एक लाइफसेवर रहा है, लेकिन मैं अभी भी चीजों को बेहतर तरीके से प्रबंधित करने में सक्षम होना चाहता हूं, खासकर जब पैकेज उन्नयन के प्रबंधन की बात आती है।कई पायथन परियोजनाओं/वर्चुअलएएनएस
मैं कुछ परिदृश्यों
विकल्प 1 के बारे में सोचा गया है: पिप का उपयोग कर प्रत्येक virtualenv में प्रत्येक परियोजना के लिए सभी आवश्यक मॉड्यूल स्थापित करें, उन्नयन प्रत्येक व्यक्तिगत रूप से आवश्यक के रूप में। इसके लिए प्रत्येक अपग्रेड के लिए एक महत्वपूर्ण समय लागत की आवश्यकता होगी और चीजों का ट्रैक रखने के लिए अतिरिक्त दस्तावेज की आवश्यकता होगी। कुछ प्रबंधन स्क्रिप्टिंग द्वारा सुविधा दी जा सकती है।
विकल्प 2: केंद्रीय भंडार में किसी भी अनुप्रयोग द्वारा उपयोग की जाने वाली सभी पुस्तकालयों को स्थापित करें, सभी परियोजनाओं के लिए एक बार संस्करणों को आसानी से बदलने के लिए सिम्लिंक का उपयोग करें। आसान उन्नयन और केंद्रीय प्रबंधन, लेकिन पहली जगह वर्चुअलएनवी का उपयोग करने के कुछ सबसे अच्छे लाभों को छोड़ देता है।
विकल्प 3: उपरोक्त दो को हाइब्रिडाइज करें, सबसे आम पुस्तकालयों को केंद्रीकृत करना और/या उन लोगों को अपग्रेड करने और प्रत्येक वर्चुअलनेव को स्थानीय रूप से स्थापित करने की आवश्यकता है।
क्या किसी और की समान स्थिति है? इसे संभालने का सबसे अच्छा तरीका क्या है?
ऐसा लगता है कि बिल्डआउट इस तरह की चीज़ के लिए कुछ अच्छे उपकरण प्रदान करता है। मुझे यह देखने के लिए थोड़ा और गहराई से देखना होगा कि यह हमारे मुद्दों को स्वचालित करने के लिए कैसे काम करेगा। –