अजगर-शैली आभासी वातावरण के बराबर क्या है लेकिन मैक ओएस पर उपयोगकर्ता खाते के लिए?


1

मैं अलग-अलग पैकेज और सॉफ्टवेयर इंस्टॉल करना चाहता हूं, लेकिन मुझे वास्तव में कुछ भी इंस्टॉल करने के लिए sudo कमांड करने का विचार पसंद नहीं है।

मैं किसी भी ऐप को प्राप्त करने के लिए Homebrew और MacPorts का उपयोग करता हूं, लेकिन क्या यह संभव है कि एक अजगर शैली के आभासी वातावरण के लिए विशिष्ट अनुप्रयोगों, पुस्तकालयों और पैकेजों को स्थापित किया जाए और अगर मुझे लगता है कि मैं इन पैकेजों को टकराना नहीं चाहता, तो मैं सिर्फ एक आभासी वातावरण को हटा सकता हूं या बस एक अलग वातावरण का उपयोग करें?

कृपया मुझे बताएं कि क्या सवाल का कोई मतलब नहीं है। जब से मैंने पायथन में आभासी वातावरण का उपयोग करना शुरू किया है, मैं आभासी वातावरण के साथ काम करने की कल्पना नहीं कर सकता हूं और मैं सोच रहा था कि क्या कुछ समान या स्थापना का एक पैटर्न है जो लोग सलाह देते हैं कि उस व्यवहार की नकल करेंगे?

ps> मुझे पता है कि Fink भी है लेकिन मैं इसका इस्तेमाल नहीं करता।


संस्करण 2:
मुझे लगता है कि मुझे अपने प्रश्न को और सत्यापित करने की आवश्यकता है।
मैं पहले से ही virtualenvwrapper का उपयोग करता हूं और आभासी वातावरण में सब कुछ पायथन से संबंधित करता हूं। सवाल पायथन से स्वतंत्र है। इसके बस उस virtualenv ने मुझे यह देखने के लिए प्रेरित किया कि क्या कोई समतुल्य, उपयोगकर्ता-खाता-विस्तृत है।

मुझे जो लगा वह भयानक होगा, तब आया जब मैं libjpeg, PIL, FreeType2, Pillow आदि को स्थापित करने की कोशिश कर रहा था।
मैं इन पुस्तकालयों या libjpeg जैसे पैकेजों को स्थापित करना चाहता था, OS के आभासी वातावरण में FreeType2 । अगर मुझे लगा कि इन लाइब्रेरी इंस्टॉल्स का होमब्रेव संस्करण मेरी संतुष्टि के लिए नहीं है, तो मैं बस एक अलग वातावरण में काम कर सकता हूं या कुछ अन्य इंस्टॉलेशन प्रक्रियाओं को आज़मा सकता हूं और स्थापित अनुप्रयोगों के वातावरण के बीच स्विच कर सकता हूं।

इसलिए, मैं सोच रहा था कि क्या OS X के लिए ऐसा कुछ मौजूद है या कुछ ऐसे ट्रिक्स हैं जो इसका अनुकरण कर सकते हैं?

macos 

मुझे यकीन नहीं है कि मैं आपके प्रश्न को सही ढंग से समझ पा रहा हूं, लेकिन आभासी मशीनों का उपयोग क्यों नहीं कर रहा हूं? Vagrant (vagrantup.com) के साथ संयोजन में VirtualBox पर एक नज़र डालें।
गेरी

जवाबों:


2

यदि आप उस प्रतिमान पर मृत हो गए हैं, तो वर्चुअल मशीन एक तार्किक अगला कदम है, नहीं? वर्चुअलबॉक्स को पकड़ो और एक वीएम में अपनी बात करो।

हालाँकि, ध्यान दें कि पैकेज प्रबंधक कई समस्याओं को हल करते हैं virtualenv पते। आपके द्वारा उल्लेखित ब्याज मौलिक रूप से इंटरफेस नहीं बदलेंगे, वे स्थिर रिलीज हैं।

यह अजगर के लिबास हैं, जो फ्रीटेप जैसी चीजें नहीं बल्कि सबसे ज्यादा अस्थिर हैं। मैं बस जो भी संस्करण X11 का उपयोग कर रहा हूँ का उपयोग करेगा।


0

मुझे यकीन नहीं है कि मैं समझता हूं कि आप क्या पूछ रहे हैं, लेकिन अगर आप पायथन आभासी वातावरण का उपयोग करने के बारे में पूछ रहे हैं virtualenv, तो आप पहले से ही वहां हैं। उपयोग करने virtualenvका लाभ यह है कि यह आपके द्वारा बनाए गए आभासी पर्यावरण निर्देशिका के भीतर एक स्व-निहित पायथन उदाहरण बनाता है। जब आप का उपयोग pythonऔर pipvirtualenv भीतर आदेशों binनिर्देशिका (जो होता है जब आप क्या होता है activatevirtualenv), किसी भी अजगर संकुल आप स्थापित है, चाहे वह साथ हो python setup.pyया pip installया यहां तक कि easy_installएक करने के लिए स्थापित कर रहे हैंsite-libraryवर्चुअल वातावरण में निर्देशिका और आपके सिस्टम पर किसी भी अन्य पायथन इंस्टॉलेशन का कोई प्रभाव नहीं पड़ता है। वर्चुअल वातावरण निर्देशिका और इसकी सामग्री सामान्य फ़ाइल सिस्टम अनुमतियों के अधीन हैं, ताकि आप इसे उपयोग करने की आवश्यकता के बिना बना सकें sudo(जैसे, यदि आप इसे अपने घर की निर्देशिका में कहीं बनाते हैं) और आप यह नियंत्रित करने के लिए फ़ाइल अनुमतियाँ सेट कर सकते हैं कि क्या कोई अन्य उपयोगकर्ता है virtualenv का उपयोग। जब तक आप --no-site-packagesvirtualenv बनाते समय विकल्प का उपयोग नहीं करते हैं , तो virtualenv के पास आधार पायथन उदाहरण में जोड़े गए मौजूदा या नए पैकेज तक पहुँच होगी (सिस्टम पायथन या जो भी अन्य आप virtualenv बनाने के लिए उपयोग करते हैं, डिफ़ॉल्ट रूप से, पायथन उदाहरण है किvirtualenvमूल रूप से) में स्थापित किया गया था। लेकिन वर्चुअल वातावरण के लिए स्थानीय स्थापित पैकेज मूल पायथन उदाहरण को प्रभावित नहीं करते हैं। यदि आप उपयोग करते हैं virtualenv --no-site-packages, तो पायथन मानक पुस्तकालय के बाहर कोई भी पैकेज आभासी वातावरण से "विरासत में" नहीं मिलेगा।

आप virtualenvMacPorts, Homebrew, या Fink जैसे तृतीय-पक्ष पैकेज प्रबंधकों के साथ संयोजन में उपयोग कर सकते हैं (वे virtualenvपोर्ट / व्यंजनों / पैकेजों को शामिल करते हैं ) लेकिन एक आभासी वातावरण के भीतर आपको pipप्रत्येक आभासी वातावरण में स्थापित का उपयोग करके, संभवतः अपने आप को स्थानीय पायथन पैकेजों का प्रबंधन करना होगा। । virtualenvउन संस्थाओं के प्रबंधन के लिए एक तंत्र प्रदान नहीं करता है जो पाइथन मानक डिस्टुटिल्स-स्टाइल पैकेजिंग, अर्थात गैर-पायथन ऐप और सी लाइब्रेरी का उपयोग करके पैक नहीं किए गए हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.