मैं अपने मौजूदा वेनव को दूसरे पीसी पर क्लोन करना चाहता हूं लेकिन बस कॉपी पेस्ट काम नहीं कर रहा है। जब मैं वेनव को कॉपी करता हूं और दूसरी मशीन पर पेस्ट करता हूं और चलाता हूं

पिप सूची

यह केवल पाइप और setup_tools को स्थापित निर्भरता के रूप में सूचीबद्ध करता है। मैंने संकुल को क्लोन करने का एक और तरीका आजमाया। मैंने दूसरी मशीन में एक नया वेनव बनाया और पहले वेनव की सभी फाइलों को नए वेनव में उसी नाम से मौजूदा फाइलों को छोड़कर उस नए वेनव में कॉपी किया। अब, जब मैं दौड़ता हूँ

पिप सूची

यह सभी निर्भरताओं को दिखाता है, लेकिन जब मैं ज्यूपिटर नोटबुक को लॉन्च करने का प्रयास करता हूं

ज्यूपिटर नोटबुक

यह निम्न त्रुटि देता है।

लॉन्चर में गंभीर त्रुटि: '"f:\path\to\first_venv\on_first_machine\scripts\python.exe" "C:\path\to\new_venv\on_the_second_machine\Scripts\jupyter.exe" नोटबुक' का उपयोग करके प्रक्रिया बनाने में असमर्थ: सिस्टम में चुनी गई फ़ाइल नहीं मिल रही है।

मैं नहीं जानता कि चीजें काम कर रही हैं। कृपया मदद करें!

संपादित करें

समस्या यह है कि मेरे पास दूसरी मशीन पर इंटरनेट कनेक्शन नहीं है। वास्तव में यह एक रिमोट मशीन है जिसमें कुछ सुरक्षा प्रोटोकॉल लागू होते हैं और इंटरनेट कनेक्शन नहीं होना सुरक्षा का हिस्सा है! मेरा बुरा :'(

1
DevLoverUmar 17 सितंबर 2020, 08:52

2 जवाब

सबसे बढ़िया उत्तर

आप वेनव को एक मशीन से दूसरी मशीन में कॉपी-पेस्ट नहीं कर सकते क्योंकि उनमें स्क्रिप्ट सिस्टम स्थानों को संदर्भित कर सकती हैं। (वही मशीन के भीतर वेनव्स को स्थानांतरित करने के प्रयास के लिए है।)

इसके बजाय, नई मशीन पर परिवेश को फिर से बनाएँ:

  1. पुरानी मशीन पर, वर्चुअलएन्व में pip freeze -l > packages.txt चलाएं।
  2. packages.txt को नई मशीन पर ले जाएं।
  3. नई मशीन पर एक नया वर्चुअलएन्व बनाएं और इसे दर्ज करें।
  4. Txt फ़ाइल से संकुल अधिष्ठापित करें: pip install -r packages.txt.

संपादित करें: यदि आपके पास दूसरी मशीन पर इंटरनेट की पहुंच नहीं है, तो आप इसके साथ चरण 2 से जारी रख सकते हैं:

  1. पहली मशीन के वेनव में pip wheel -w wheels -r packages.txt रन करें। यह आपके लिए आवश्यक सभी पैकेजों के लिए *.whl पैकेज डाउनलोड और निर्मित करेगा। ध्यान दें कि यह मानता है कि दोनों मशीनें ओएस और आर्किटेक्चर में समान हैं!
  2. व्हील फ़ाइलों को नई मशीन पर कॉपी करें।
  3. नई मशीन पर एक नया वर्चुअलएन्व बनाएं और इसे दर्ज करें।
  4. नए वर्चुअलएन्व में पहियों से पैकेज स्थापित करें: pip install *.whl
3
AKX 17 सितंबर 2020, 09:08

आपको कभी भी मशीनों के बीच वर्चुअल वातावरण की नकल नहीं करनी चाहिए। pip freeze का उपयोग करके वातावरण में स्थापित निर्भरता को निर्यात करने और दूसरी मशीन पर एक नया आभासी वातावरण बनाने का सही तरीका है।

# One the first machine
pip freeze > requirements.txt
# Copy requirements.txt to the other machine, or store in a source repository
# Then install the requirements in the new virtual environment
pip install -r requirements.txt
1
Michael Anckaert 17 सितंबर 2020, 08:57