निम्नलिखित स्रोत कोड जोड़कर आयात फ़ोल्डर निकाले जा सकते हैं:
import sys
print sys.path
स्वत: सहिष्णु पीढ़ी उदाहरण होगा:
ln -s \`pip show em | grep "Location"| cut -d " " -f2\` \`python -m site --user-site\`
"एम" के बजाय आप अन्य पैकेज का उपयोग कर सकते हैं जिसे आपने "बस स्थापित किया है लेकिन अजगर इसे नहीं देख सकता है"
नीचे मैं टिप्पणी में अनुरोध किए जा रहे विवरणों के बारे में अधिक बताऊंगा।
मान लें कि आपने निम्नलिखित कमांड के साथ अजगर मॉड्यूल एम या पीसरियल स्थापित किया है (उदाहरण ubuntu के लिए हैं):
sudo pip install pyserial
और आउटपुट इस तरह है:
Collecting pyserial
Downloading pyserial-3.3-py2.py3-none-any.whl (189kB)
100% |████████████████████████████████| 194kB 2.3MB/s
Installing collected packages: pyserial
Successfully installed pyserial-3.3
सवाल निम्नलिखित होगा - अजगर मॉड्यूल pyserial नहीं देख सकता है, क्यों? क्योंकि जिस स्थान पर मॉड्यूल स्थापित किया गया है वह एक अजगर नहीं है जो आपके विशेष उपयोगकर्ता खाते को देख रहा है।
solution - हमें उस पथ से सिम्लिंक बनाना है जहाँ pyserial उस पथ पर पहुँचे जहाँ आपका अजगर खोज रहा है।
सिमलिंक निर्माण आदेश होगा:
ln -s <what_to_link> <where_to_link>
सटीक स्थान टाइप करने के बजाय हम पाइप को यह बताने के लिए कह रहे हैं कि यह कमांड निष्पादित करके मॉड्यूल कहां संग्रहीत करता है:
pip show pyserial | grep "Location"| cut -d " " -f2
सटीक स्थान टाइप करने के बजाय हम अजगर को यह बताने के लिए कह रहे हैं कि यह कमांड निष्पादित करके स्थापित किए जा रहे मॉड्यूल के लिए कहां दिखता है:
python -m site --user-site
दोनों आदेशों को "` "वर्ण से बचाना होगा (आमतौर पर यूएस कीबोर्ड के लिए आपके 1 बटन के बाईं ओर)
परिणाम में निम्नलिखित कमांड ln के लिए प्रदान की जाएगी और गुम सिम्बलिन बनाया जाएगा:
ln -s /usr/local/lib/python2.7/dist-packages /home/<your_username>/.local/lib/python2.7/site-packages
या अपने डिस्ट्रो और अजगर / पाइप डिफॉल्ट के आधार पर कुछ इसी तरह।