नहीं, एक '--relocatable' के लिए 'virtualenv/bin/activate' स्क्रिप्ट अद्यतन नहीं करता है। हां, आप ज़ेकेए के सुझाव के रूप में वर्चुअल एनवी सेटअप को फिर से चलाने के द्वारा इसे ठीक कर सकते हैं, हालांकि स्थिरता किसी भी 'pip -e git ...' को आयात करने में विफल रहता है जो 'virtualenv/src' में रखे गए हैं, इसलिए आपको फिर से चलना होगा उन पाइप मैन्युअल रूप से स्थापित करता है।
अनुभव से अब मैं एक दिन पीआईपी संपादन योग्य (-e) के साथ स्थापित नहीं करता हूं और यदि 'प्रोजेक्ट/वर्चुअलएएन/src' के विपरीत 'प्रोजेक्ट/src /' में मैन्युअल रूप से क्लोन रिपोजिटरी की आवश्यकता होती है और नीचे auto_prep_pythonpath.py
स्क्रिप्ट है मेरी प्रोजेक्ट लॉन्च करने से पहले लोड किया गया (मैं इसे अपने django.wsgi
स्क्रिप्ट में संदर्भित करता हूं)।
एक साइड नोट के रूप में मैं 'प्रोजेक्ट/src' में रखे गए किसी भी पैकेज को 'अनुरूप' जोड़ता हूं जो संशोधित/हैक किया जाता है, इस तरह मुझे पिछड़े संगतता के बारे में चिंता करने की ज़रूरत नहीं है और मैं कोड नियंत्रण के तहत सभी स्रोतों को ट्रैक करता हूं ऑनलाइन भंडार आप पर ब्रेक कर सकते हैं और करेंगे।
उम्मीद है कि इससे मदद मिलती है।
"""
Prepares python path to include additional project/src/<APP> in PYTHONPATH - This file gets automatically loaded by projects __init__.py
This script lives in 'project/src/django-project/auto_prep_pythonpath.py', modify
'SOURCE_ROOT' if you place it somehwere else.
"""
import logging
import os
import sys
SOURCE_ROOT = os.path.dirname(os.path.abspath(__file__)).replace('\\','/') # the replacements are when on windows
SOURCE_ROOT = os.path.join(SOURCE_ROOT, '../').replace('\\','/')
SOURCE_ROOT = os.path.normpath(SOURCE_ROOT)
logger = logging.getLogger(__name__)
logger.info("Adding packages in 'src/*' required by project to PYTHONPATCH.")
dirlist_arr = os.listdir(SOURCE_ROOT)
while dirlist_arr:
item_path = os.path.join(SOURCE_ROOT, dirlist_arr.pop()).replace('\\','/') # replace dashes is for win based file system
if os.path.isdir(item_path):
if not item_path in sys.path:
sys.path.insert(0, item_path) # we use insert to take precedence over any global paths - minimises import conflict suprises
logger.debug("Path '%s' added." % item_path)
स्रोत
2013-04-04 16:55:14
"वर्चुअल एनवी पर स्थानांतरित कॉल" क्या है? – hughdbrown
कृपया अपने प्रश्नों के उत्तर स्वीकार करना याद रखें। आप सबसे सहायक के बगल में स्थित चेक मार्क पर क्लिक करके ऐसा करते हैं। कृपया वापस जाएं और अपने पुराने, उत्तर वाले प्रश्नों के लिए भी ऐसा करें। – agf
मुझे समझ में नहीं आता कि आप अपने वर्चुअलएन्ड्स को चारों ओर क्यों ले जाना चाहते हैं। मैं बस उन्हें ~ ~/virtualenvs' में रखता हूं और मैं इसके साथ कर रहा हूं। कोई उपद्रव कोई अव्यवस्था नहीं। – hughdbrown