हां, पायथन मॉड्यूल को बिना इंस्टॉल किए इम्पोर्ट करने के तरीके हैं। यदि आप किसी मशीन पर मॉड्यूल इंस्टॉल नहीं कर सकते (पर्याप्त अनुमति न होने के कारण), तो आप या तो `virtualenv` का उपयोग कर सकते हैं या मॉड्यूल फ़ाइलों को किसी अन्य डायरेक्टरी में सेव करके निम्नलिखित कोड का उपयोग करके पायथन को दिए गए मॉड्यूल में खोजने की अनुमति दे सकते हैं:
विधि 1: sys.path संशोधित करें
>> import os, sys
>>> file_path = 'AdditionalModules/'
>>> sys.path.append(os.path.dirname(file_path))
>>> # अब पायथन मॉड्यूल इम्पोर्ट करने के लिए AdditionalModules फ़ोल्डर भी खोजेगा क्योंकि हमने इसे PYTHONPATH पर सेट किया है।
विधि 2: virtualenv का उपयोग (अनुशंसित)
आप एक आइसोलेटेड स्थानीय पायथन वातावरण बनाने के लिए `virtualenv` का भी उपयोग कर सकते हैं। संबोधित की जा रही मूल समस्या निर्भरता और संस्करणों की है, और अप्रत्यक्ष रूप से अनुमतियों की। कल्पना करें कि आपके पास एक एप्लिकेशन है जिसे `LibFoo` के संस्करण 1 की आवश्यकता है, लेकिन दूसरे एप्लिकेशन को संस्करण 2 की आवश्यकता है। आप दोनों एप्लिकेशन का उपयोग कैसे कर सकते हैं? यदि आप सब कुछ `/usr/lib/python2.7/site-packages` (या आपके प्लेटफॉर्म का मानक स्थान) में इंस्टॉल करते हैं, तो आप अनजाने में एक एप्लिकेशन को अपग्रेड करने की स्थिति में आसानी से पहुंच सकते हैं जिसे अपग्रेड नहीं किया जाना चाहिए। यह हमारे उपयोग के मामले में भी उपयोग किया जा सकता है जहां हम मशीन पर पैकेज इंस्टॉल नहीं कर सकते क्योंकि हमारे पास अनुमतियां नहीं हैं।
virtualenv सेटअप:
# वर्चुअल एनवायरनमेंट बनाएं
python -m venv myenv # पायथन 3.3+
# या
virtualenv myenv # पुराने संस्करण
# सक्रिय करें
# Linux/macOS:
source myenv/bin/activate
# Windows:
myenv\Scripts\activate
# पैकेज इंस्टॉल करें
pip install package_name
विधि 3: PYTHONPATH पर्यावरण वेरिएबल
# Linux/macOS
export PYTHONPATH=/path/to/modules:$PYTHONPATH
# Windows
set PYTHONPATH=C:\path\to\modules;%PYTHONPATH%
विधि 4: .pth फ़ाइल (स्थायी)
साइट-पैकेज डायरेक्टरी में एक `.pth` फ़ाइल बनाएं जिसमें आपका कस्टम पथ हो।
सारांश
| विधि | उपयोग मामला |
|---|---|
| sys.path.append | त्वरित परीक्षण, स्क्रिप्ट-विशिष्ट |
| virtualenv/venv | प्रोजेक्ट आइसोलेशन, अनुमति मुद्दे (अनुशंसित) |
| PYTHONPATH | उपयोगकर्ता-स्तरीय, एकाधिक प्रोजेक्ट्स |
| .pth फ़ाइल | स्थायी, सिस्टम-वाइड |