मैं किस फ़ाइल को संपादित करता हूं, और कैसे? मैंने एक आभासी वातावरण बनाया।
virtualenvwrapper
कमांड है। इसका हिस्सा नहीं है virtualenv
।
मैं किस फ़ाइल को संपादित करता हूं, और कैसे? मैंने एक आभासी वातावरण बनाया।
virtualenvwrapper
कमांड है। इसका हिस्सा नहीं है virtualenv
।
जवाबों:
EDIT # 2
सही उत्तर @ arogachev का है ।
यदि आप PYTHONPATH
किसी virtualenv में उपयोग किए गए को बदलना चाहते हैं , तो आप अपने virtualenv की bin/activate
फ़ाइल में निम्न पंक्ति जोड़ सकते हैं :
export PYTHONPATH="/the/path/you/want"
इस तरह, PYTHONPATH
जब आप इस virtualenv का उपयोग करेंगे तो हर बार नया सेट किया जाएगा।
EDIT: (रामराचम की टिप्पणी का जवाब देने के लिए)
इसे अपने मूल मूल्य पर पुनर्स्थापित करने के लिए deactivate
, आप जोड़ सकते हैं
export OLD_PYTHONPATH="$PYTHONPATH"
पहले उल्लिखित लाइन से पहले, और अपनी bin/postdeactivate
स्क्रिप्ट में निम्न पंक्ति जोड़ें ।
export PYTHONPATH="$OLD_PYTHONPATH"
deactivate
?
PYTHONPATH
लोकल पाथ के बजाय डिफॉल्ट (ग्लोबल वन) है?
@ S29 की टिप्पणी का उत्तर होना चाहिए:
वर्चुअल वातावरण में डायरेक्टरी को जोड़ने का एक तरीका यह है कि virtualenvwrapper स्थापित किया जाए (जो कई चीजों के लिए उपयोगी है) और फिर करें
mkvirtualenv myenv
workon myenv
add2virtualenv . #for current directory
add2virtualenv ~/my/path
यदि आप इन पथ को हटाना चाहते हैं तो फ़ाइल को संपादित करें myenvhomedir/lib/python2.7/site-packages/_virtualenv_path_extensions.pth
Virtualenvwrapper पर दस्तावेज़ http://virtualenvwrapper.readthedocs.org/en/latest/ पर देखे जा सकते हैं
इस सुविधा के विशिष्ट दस्तावेज http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html?highlight=add2virtualenv पर देखे जा सकते हैं
add2virtualenv -d
आप एक .pth
फ़ाइल बना सकते हैं जिसमें निर्देशिका खोजने के लिए है, और इसे site-packages
निर्देशिका में रखें। उदाहरण के लिए:
cd $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
echo /some/library/path > some-library.pth
प्रभाव जोड़ने के /some/library/path
लिए समान है sys.path
, और virtualenv
सेटअप में स्थानीय रहता है ।
$VIRTUALENV_ROOT/lib/pythonX.Y/site-packages
। डॉक्स पर .pth फ़ाइलें: docs.python.org/3.6/library/site.html
pushd "$(venv/bin/python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")" ...path/to/project/venv/lib/python3.7/site-packages ...path/to/project echo ../../../../src > my_project.pth popd
फिर मैंने अपना वर्चुअलाइजेशन निष्क्रिय कर दिया, और फिर से सक्रिय हो गया। अब मैं प्रोजेक्ट कोड चला सकता हूं, जिसमें यह जानना आवश्यक है कि मेरी परियोजना निर्देशिका कहां थी।
/bin/activate
) एक कदाचार है और 3 पार्टी उपकरण स्थापित करना उसी को प्राप्त करने के लिए अंतर्निहित तरीके का उपयोग करने से हीन है।
cd venv
source bin/activate
export PYTHONPATH='/home/django/srmvenv/lib/python3.4'
python
\>\> import sys
\>\> sys.path
मैंने अपनी सक्रिय स्क्रिप्ट को फ़ाइल को स्रोत में बदलने के लिए संशोधित किया है .virtualenvrc
, अगर यह वर्तमान निर्देशिका में मौजूद है, और PYTHONPATH
सक्रिय / निष्क्रिय करने के लिए सहेजने / पुनर्स्थापित करने के लिए ।
आप activate
यहां पटकथा लिख सकते हैं । । यह virtualenv 1.11.6 द्वारा बनाई गई सक्रिय स्क्रिप्ट के लिए एक ड्रॉप-इन प्रतिस्थापन है।
फिर मैंने अपने साथ कुछ ऐसा जोड़ा .virtualenvrc
:
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}/some/library/path"
यह पहले से ही यहाँ उत्तर दिया गया है -> क्या मेरा आभासी वातावरण (अजगर) मेरे PYTHONPATH को तोड़ने का कारण है?
"निर्यात PYTHONPATH = / usr / स्थानीय / lib / python2.0" इसे ~ / .bashrc फ़ाइल में जोड़ें और "स्रोत ~ / .bashrc" या "टाइप करके इसे स्रोत करें। ~ / .bashrc"।
1) कंट्रोल पैनल पर जाएं 2) डबल क्लिक सिस्टम 3) उन्नत टैब पर जाएं 4) पर्यावरण चर पर क्लिक करें
सिस्टम वेरिएबल्स विंडो में, जांचें कि क्या आपके पास PYTHONPATH नामक एक चर है। यदि आपके पास पहले से ही है, तो जांचें कि यह सही निर्देशिकाओं की ओर इशारा करता है। यदि आपके पास पहले से कोई नहीं है, तो नया बटन पर क्लिक करें और इसे बनाएं।
वैकल्पिक रूप से, आप अपने कोड के नीचे भी कर सकते हैं: -
import sys
sys.path.append("/home/me/mypy")