मैं जिप्टर को कॉन्फ़िगर करना चाहता हूं ताकि मुझे दो अलग-अलग नोटबुक (या यहां तक कि एक नोटबुक में एक से दूसरी तरफ स्विच भी हो) में एक साथ समय में पाइथन 2.7 और 3.4 कर्नेल चलाने की अनुमति मिल सके।(कैसे) मैं जिप्टर (आईपीथॉन) में साइड-बाय-साइड पाइथन 2.7 और 3.4 नोटबुक चला सकता हूं?
(1) क्या यह संभव है?
मैं पूछ रहा हूं क्योंकि इसे Using both Python 2.x and Python 3.x in IPython Notebook में सुझाव दिया गया था कि यह संभव होगा, लेकिन यह वास्तव में यह कैसे काम करेगा इस पर कोई विस्तृत उत्तर प्रदान नहीं किया गया था।
आप https://try.jupyter.org में भी देख सकते हैं कि यह किसी भी तरह से बहुत व्यवहार्य प्रतीत होता है (और आप एक पायथन 2 कर्नेल से एक पायथन 3 कर्नेल तक भी स्विच कर सकते हैं)। तो मुझे यह मानना उचित लगता है कि यह वास्तव में संभव है (लेकिन अगर मैं गलत हूं तो कृपया मुझे सही करें)।
(2) यह कैसे किया जाता है?
पिछला जवाब (Open IPython Notebook 2.7 and 3.4 in Parallel में उदा) दो अलग बंदरगाहों पर दो अलग नोटबुक सर्वर IPython आरंभ करने की अनुशंसा। यह, ज़ाहिर है, पूरी तरह से तार्किक और संभव है, लेकिन मेरे प्रश्न का उत्तर नहीं देता है।
मैं अजगर के लिए ipython
स्थापित करने में कामयाब रहे 2 & 3. मैं तो प्रत्येक संबंधित अजगर वातावरण में निम्नलिखित को फोन करके jupyter
में दिखाने के लिए दोनों के दाने मिला:
ipython kernelspec install-self
यह मेरे लिए kernel.json
फ़ाइलें बनाई और अब मैं jupyter
में एक नई नोटबुक बनाने के लिए उनमें से किसी एक का चयन कर सकता हूं। अजगर 2 के लिए kernel.json
का उदाहरण:
{
"display_name": "Python 2",
"language": "python",
"argv": [
"/usr/local/opt/python/bin/python2.7",
"-m",
"ipykernel",
"-f",
"{connection_file}"
]
}
समस्या यह है, जब मैं एक अजगर 2 पर्यावरण से jupyter
शुरू करते हैं, मैं केवल एक अजगर 2 गिरी चला सकते हैं ($PYTHONPATH
परिभाषित के साथ) (एक दूसरे को खोलते दुर्घटना होगा संबंधित नोटबुक)। वही, जब मैं एक पायथन 3 पर्यावरण से jupyter
शुरू करता हूं ($PYTHONPATH
परिभाषित किया गया है)। यह आम तौर पर मुझे समझ में आता है, लेकिन मैं जानना चाहता हूं कि jupyter
दोनों को कर्नेल को उसी jupyter
इंस्टेंस से चलाने की अनुमति देने के लिए कैसे शुरू करें या कॉन्फ़िगर करें और अभी भी मेरे पैकेज लोड करने में सक्षम होने के लिए अपना स्वयं का विशिष्ट $PYTHONPATH
एस निर्दिष्ट करें।
मुझे लगा कि यह मेरी वास्तविक समस्या है - को शुरू करने से पहले $PYTHONPATH
को पूर्वनिर्धारित करना। तो मैं कहा जाता है:
unset PYTHONPATH
ipython notebook
मैं अब वास्तव में एक भी jupyter
उदाहरण से दोनों कर्नेल (py2 & 3) चला सकते हैं, लेकिन मैं विशिष्ट स्थानीय निर्देशिका से अजगर संकुल लोड नहीं कर सकता। मुझे लगता है कि मैं इसे मैन्युअल रूप से नोटबुक के अंदर कर सकता हूं:
import sys
sys.path.append("/some/path/lib/python2.7/site-packages")
लेकिन क्या यह वास्तव में मुझे यह करना चाहिए? या मैं अतिरिक्त निर्देशिकाओं को कॉन्फ़िगर कर सकता हूं जिन्हें मैं आमतौर पर $PYTHONPATH
में लिखता हूं (उदा। kernel.json
फ़ाइल?
पुनश्च: कृपया मत पूछो क्यों मैं इस की जरूरत है - नहीं, मुझे नहीं पता वास्तव में चाहें - लेकिन मैं अभी भी पता करने के लिए इस अगर और कैसे संभव हो सकता है चाहते हैं।
[संपादित करें]
कृपया ध्यान दें कि मैं सहज (जैसे एनाकोंडा के रूप में) कुछ अजगर प्रबंधन उपयोगिता यह सब पूरा करने के लिए, (जब तक यह एक ही रास्ता है) स्थापित करने नहीं होगा।
ठीक है, मैंने रास्ते में अपने शुरुआती प्रश्नों का उत्तर दिया, लेकिन कृपया मुझे बताएं कि क्या आप '$ पायथनपथ 'भाग में मदद कर सकते हैं :) धन्यवाद! – Chris