एनाकोंडा के बाद python3 को डिफ़ॉल्ट के रूप में सेट करने के बाद मैं python2 पर वापस कैसे जाऊं?


18

हाल ही में, मैंने अपने 15.04 पर Anaconda3-2.5.0-Linux-x86_64.sh स्थापित किया और इसके साथ समाप्त हुआ!

:~$ python --version
Python 3.5.1 :: Anaconda 2.5.0 (64-bit)

:~$ python2 --version
Python 2.7.9

:~$ python3 --version
Python 3.5.1 :: Anaconda 2.5.0 (64-bit)

स्थापना के अंतिम क्षणों के दौरान, मैंने yesजल्दबाजी में कुछ दर्ज किया , और मुझे लगता है कि इसके साथ कुछ करना था। (ठीक है, मेरी गलती, मुझे ध्यान से संभालना चाहिए था, लेकिन मुझे अब मदद की ज़रूरत है, आलोचना नहीं)।

स्क्रीनशॉट

AFAIK यह निश्चित रूप से अन्य कार्यक्रमों को तोड़ने वाला है। अब मैं क्या करू?


मुझे लगता है कि क्या काम कर सकता है।

क्या यह उपनामों का उपयोग करके किया जा सकता है?

alias python=python2

लेकिन मुझे यकीन नहीं है।


हाँ। उपयोगalias python=python2
मुस्तफा अहंगराह

AFAIK यह निश्चित रूप से अन्य कार्यक्रमों को तोड़ने वाला है। ऐसा सोचने का क्या कारण है? यदि एनाकोंडा ने पायथन 3 को डिफ़ॉल्ट के रूप में सेट किया है, तो यह संभवतः एक कारण के लिए है।
10

मैंने पहले ही अपनी एक परियोजना को बर्बाद कर दिया है जो 2.x के लिए लिखा गया था, और डिफ़ॉल्ट को 3.x में परिवर्तित करना विशेष रूप से प्रोत्साहित नहीं किया जाता है क्योंकि कई पैकेज 2.x पर काम करते हैं!
भयावह

यह तब होता है जब आप बहुत खुश होते हैं कि आपने पेशेवर दृष्टिकोण अपना लिया था और आपके प्री-इंस्टॉल बूट ड्राइव का एक क्लोन था ताकि इसे एक बड़ा समय-वास्टर बनने से रोका जा सके। कृपया मेरा जवाब नीचे देखें। मुझे लगता है कि आपकी स्थापना विधि गड़बड़ का कारण बनी। इसलिए अगर मेरे साथ ऐसा हुआ तो मैं फिर से पीछे हटूंगा और फिर से कोशिश करूंगा। कुल समय एक दिन से कम होगा यह पता लगाने के लिए कि क्या यह व्यवहार्य है। मेरे मामले में, जैसा कि आप देख सकते हैं, मैं सत्यापन के अंत में हूं इसलिए अब यह देखने के लिए प्रगति कर सकता हूं कि क्या यह पहले स्थान पर प्रयास के लायक है। यह सुनिश्चित करने के लिए कुछ दिनों का समय लगा कि इससे कोई समस्या नहीं है, और शोध कार्य ट्रैक पर है।
एसडीसोलर

पाइथन के संस्करण को निर्दिष्ट करने के लिए, सुनिश्चित करें कि आप जानते हैं कि आपके संपूर्ण सिस्टम पर इसका क्या प्रभाव हो सकता है। जब तक आप सिर्फ खेल रहे हैं, यह वास्तव में एक पूर्ण सत्यापन प्रक्रिया की आवश्यकता होगी यदि आप डिफ़ॉल्ट which pythonशेबंग परिणामों के लक्ष्यों को बदलते हैं । बाद में यह पता लगाने में थोड़ा समय लगता है कि आपने अपनी कुछ उपयोगिताओं को फिर से लिखने की जरूरत के कोने में खुद को चित्रित किया है। जब तक आपके हाथों पर बहुत समय न हो, तब तक चूक के साथ काम करने वाली चीजों को छोड़ना सबसे अच्छा है।
एसडीसोलर

जवाबों:


18

मैं एक वीएम में इंस्टॉलेशन के माध्यम से गया, और निम्नलिखित खुश हो गया।

  1. इंस्टॉलर एक स्थापित स्थान के लिए पूछता है। डिफ़ॉल्ट है /home/myuser/anaconda3
  2. अंत में आपसे पूछा जाएगा

    Python 3.5.1 :: Continuum Analytics, Inc.
    creating default environment...
    installation finished.
    Do you wish the installer to prepend the Anaconda3 install location
    to PATH in your /home/myuser/.bashrc ? [yes|no]
    [no] >>> yes
    
    Prepending PATH=/home/myuser/anaconda3/bin to PATH in /home/myuser/.bashrc
    A backup will be made to: /home/myuser/.bashrc-anaconda3.bak

पुराने व्यवहार को पुनर्स्थापित करने के लिए, अपने होम डायरेक्टरी पर जाएं और करें

mv .bashrc-anaconda3.bak .bashrc

फिर एक नया शेल शुरू करें।

जैसा कि आप सुझाव देते हैं, आप कर सकते हैं alias python=python2, लेकिन मुझे लगता है कि थोड़ा अजीब है। मैं

  1. मूल को पुनर्स्थापित करें .bashrc
  2. बनाएँ (यदि यह मौजूद नहीं है) ~/bin
  3. संपर्क ln -s ~/anaconda3/bin/python3 ~/bin/python3
  4. [प्रारंभ में लगा $HOME/binकरने के लिए $PATH] (चाहिए पहले से ही द्वारा डिफ़ॉल्ट रूप से सेट किया जा ~/.profile)
  5. पुन लॉगिन।

इस तरह, कॉलिंग python3एनाकोंडा से शुरू होगी।


एक महत्वपूर्ण बिंदु यह है कि मूल /usr/bin/pythonअभी भी है, और अभी भी इंगित करता है python2.7python->python3आपके मार्ग में होने वाले प्रभाव इस बात पर निर्भर करते हैं कि किसी विशिष्ट स्क्रिप्ट को कैसे कहा जाता है।

यदि शेबबैंग #!/usr/bin/pythonका उपयोग किया जाता है, जैसे कि यह संभवतः सभी निष्पादनयोग्य में है जो कि उबंटू के साथ जहाज है, तो कुछ भी नहीं बदलेगा। दूसरी ओर, बेहतर पोर्टेबिलिटी के #!/usr/bin/env pythonलिए कभी-कभी उपयोग किया जाता है, जिसे अब python3.5कॉल किया जाएगा।


3
"4. प्रारंभ में लगा $ HOME / bin $ पथ करने के लिए" .. पहले से ही डिफ़ॉल्ट रूप से किया ~/.profile- बस एक दोबारा लॉगिन बनाने के बाद की जरूरत है ~/bin
मुरु

@ मरमू यह सच है, धन्यवाद। जवाब में जोड़ा गया।
नेफेंट

ठीक है, यह काम किया, धन्यवाद! बस इसे ध्यान में रखने के लिए, कि मेरे पास 3.4.3 था पहले भी स्थापित किया था (और पाइप और pip3 दोनों इसके साथ जुड़े थे), अब मेरे पास 2.7, 3.4, 3.5 है। अब मैं इसे 3.5 पर इंगित करने के लिए पाइप को फिर से स्थापित करने वाला हूं!
भयावह

एनाकोंडा अपने स्वयं के पैकेज मैनेजर के साथ आता है जिसे कोंडा कहा जाता है। यह आभासी वातावरण का भी प्रबंधन करता है। मैं इसका उपयोग पाइप के बजाय पैकेज स्थापित करने के लिए करता हूं।
नेफांते


7

यहाँ अच्छा जवाब: /programming/24405561/how-to-install-2-anacondas-python-2-7-and-3-4-on-mac-os-10-9

conda create -n python2 python=2.7 anaconda

फिर, स्विच करने के लिए:

source activate python2

यदि आपको इसकी आवश्यकता है तो आपको बहुत गहरी समस्याएँ हो सकती हैं। यदि आपका सिस्टम महत्वपूर्ण है, तो किसी भी पायथन-आश्रित कमांड और / या उपयोगिताओं का पूर्ण सत्यापन करें। निष्पक्ष चेतावनी।
एसडीसोलर

3

यदि कोई भी अपने अजगर डिफ़ॉल्ट संस्करण को 2.7 में बदलने के बाद इसे बदल रहा है (डिफ़ॉल्ट एक को: एनाकोंडा या अजगर 3 में बदलकर) और गैर-कार्यात्मक सॉफ़्टवेयर के साथ समाप्त हो रहा है, तो बस इस लिंक का पालन करें: डिफ़ॉल्ट बदलने के निर्देशों के साथ लिंक करें अजगर संस्करण।


यदि कोई सिस्टम परिवर्तन गड़बड़ा जाता है, तो सुनिश्चित करें कि आप इसे वापस रोल कर सकते हैं। सुनिश्चित करें कि आपके पास अच्छी प्रणाली छवि बैकअप है, ताकि वे किसी भी बड़े बदलाव को जल्दी से उलट सकें, यदि वे आपकी योजना के अनुसार नहीं चलते हैं। पेशेवर सोचो। यदि आप शौकिया तकनीकों का उपयोग करते हैं तो आप पेशेवर परिणामों की उम्मीद नहीं कर सकते।
एसडीसोलर

1

यह मेरे लिए काम करता है लेकिन मिनिकोंडा के लिए, यह एनाकोंडा के लिए भी काम करना चाहिए लेकिन अगर मैं गलत हूं तो कृपया मुझे सुधारें।

पहले अपना $ PATH चर प्राप्त करें :

echo $PATH

यह संभवतः इस तरह दिखेगा (बाकी सब से पहले मिनीकोन्डा पथ):

/home/your_user/miniconda3/bin:$PATH

उस पथ को अपने ~ / .bashrc फ़ाइल के नीचे कॉपी करें , लेकिन मार्ग की शुरुआत के बजाय अंत में मिनिकोंडा के साथ:

export PATH="$PATH:/home/your_user/miniconda3/bin"

यह सिस्टम मिनीटाडा 3 / बिन फ़ोल्डर से पहले $ PATH वैरिएबल की शुरुआत में कार्यक्रमों की तलाश करेगा ।

यह पिछले कार्यक्रमों के लिए संस्करणों को पुनर्स्थापित करना चाहिए जो आपको अजगर की तरह थे।

Conda 4.4 में शुरू करके , उन्होंने ~ / .bashrc में जोड़ा गया कोड बदल दिया । अब, एक ही चीज़ को प्राप्त करने के लिए, ~ / .bashrc को संपादित करें और नीचे की रेखा को इस तरह से टिप्पणी करें ताकि आधार परत (आधार पर्यावरण) को हर टर्मिनल में सक्रिय होने से रोका जा सके। नए परिवर्धन के किसी अन्य भाग को छूने की आवश्यकता नहीं है। मैं अनिश्चित हूं कि इसका क्या महत्व CONDA_CHANGEPS1=falseहै, लेकिन अब तक किसी भी मुद्दे पर नहीं चला है।

   # CONDA_CHANGEPS1=false conda activate base

और जब तक आप अब और नहीं रास्ते में conda फ़ोल्डर देखेंगे, condaआदेश अभी भी ठीक चलेगा, और अपने मूल python, python3और pipenvआदेशों के रूप में अच्छी तरह से करेंगे।


Upvote क्योंकि मुझे लगता है कि आप सही हैं। डेटाबेस में होना अच्छा है। हालाँकि, क्या मैं यह पूछ सकता हूं कि आप शामिल सॉफ्टवेयर के संस्करण संख्या के रूप में अधिक विशिष्ट हैं?
एसडीसोलर

धन्यवाद, और मुझे वास्तव में नहीं लगता कि प्रोग्राम संस्करण मायने रखता है, यह हमेशा काम करना चाहिए। हालांकि मेरा इंस्टॉलर निम्नलिखित संस्करण में था: मिनिकोंडा 3 4.3.14। क्या उससे मदद हुई?
पेड्रोडस्क

0

यहाँ मेरा जवाब है, और यह आपके सिस्टम के लिए आपके द्वारा किए गए वास्तविक विशिष्ट उत्तर हो सकता है या नहीं भी हो सकता है।

हालांकि, मैं एक ऐसी ही स्थिति में हूं और मुझे बहुत ही चिंता है।

मैं Ubuntu 16.04 LTS और पायथन 2.7.12 का उपयोग कर रहा हूं, और अभी हाल ही में स्थापित एनाकोंडा।

तो अब, जब मैं कमांड लाइन पर pythonजाता हूं और टाइप करता हूं तब भी मेरी पायथन 2 इंस्टॉलेशन में जाता है।

इस क्रम से पुष्टि:

$which python
/usr/bin/python     <  Catch-all for max compatibility
$python
Python 2.7.12 . . etc

इसलिए मेरे मामले में, anacondaमेरे डिफ़ॉल्ट पायथन 2 शेबंग के साथ कोई समस्या नहीं है।

अंतत: यही सवाल है।

जब आप सिस्टम से पूछते हैं, which pythonतो आप भरोसा कर सकते हैं कि आपके कमांड-लाइन स्टाइल पायथन कार्यक्रमों की पहली पंक्ति में उपयोग करने के लिए सही स्ट्रिंग हो।

मेरी स्थिति में, मेरे सभी समान पायथन कमांड-लाइन स्क्रिप्ट फाइलें ठीक ठीक निष्पादित करना जारी रखती हैं।

मैं 3-संगत मोड में पायथन लिखना चाहता हूं। जैसे मेरे प्रिंट स्टेटमेंट के आसपास कोष्ठक का उपयोग करना। लेकिन मैं सक्रिय रूप से इस प्रणाली के लिए एक बड़े बदलाव का विरोध कर रहा हूं जो कि पिथॉन 2 कार्यक्रमों को ग्लिट्स का सामना करने में मुश्किल पैदा कर सकता है। अजगर 3 मेरी जरूरतों के लिए बहुत अच्छा लेकिन अनावश्यक लगता है। अजगर 2 एक अद्भुत भाषा है।

मेरा कंप्यूटिंग वातावरण मुझे वापस जाने की इजाजत नहीं देता है और री-इंजीनियर पिछली प्रक्रियाओं को ठीक से काम करने के लिए ट्यून किया गया है जो बिना किसी समय के हिट के बिना काम करता है क्योंकि मुझे वापस जाना होगा और यह पता लगाना होगा कि मैंने इसे पहले स्थान पर कहां इस्तेमाल किया था।


मेरे लिए निचला रेखा: anacondaभविष्य के उपयोग के लिए स्थापित होने पर , मेरे पास कोई गति धक्कों नहीं है और न ही समस्याएं।


यही वह बिंदु है जहां मैं इस प्रक्रिया में हूं ... पिछले सभी सॉफ्टवेयरों को फिर से प्रमाणित करना।


अगला कदम वास्तव में पैकेज में वादा किए गए कुछ शांत सामानों का उपयोग करना है।


इसलिए, मुझे संदेह होना चाहिए कि अन्य बस anacondaवहां स्थापित करना आपकी स्थिति के लिए अधिक होना चाहिए।

मेरे अनुभव से यह कोई समस्या नहीं है।


FYI करें, मेरे पास एक पूर्ण वैज्ञानिक कार्य केंद्र है, जो सौर गतिकी पर काम कर रहा है। इसके अलावा पंचांग और उपग्रह बातचीत के बारे में। यह जरूरी काम है। तो मैं इस सब में केवल एक चाल-चाल नहीं हूँ। मैं एक समय में एक चीज स्थापित करता हूं, और फिर उस काम से पहले सब कुछ सत्यापित करता हूं। फिर मैं अगले पर चला जाता हूं। SciPy, Matplotlab, आदि (प्लॉटिंग के लिए मेरी प्राथमिकता gnuplot है)। तो कृपया यह समझें कि मैं इस उत्तर को एक अकादमिक अनुसंधान वातावरण में एक जीवित 24x7 कार्य प्रणाली से डेटापेट के रूप में प्रस्तुत कर रहा हूं। यह एक परीक्षण वातावरण नहीं है - यह दैनिक उत्पादन है।
एसडीसोलर

इसके अलावा, जैसा कि मैंने ऊपर एक टिप्पणी में कहा था, सोचें पेशेवर। पूरी दुनिया में बहुत उच्च स्तर के शोधकर्ताओं द्वारा इन प्रणालियों का उपयोग किया जाता है। -> सुनिश्चित करें कि आपके बूट ड्राइव में कोई भी बड़ा सिस्टम अपग्रेड करने से पहले एक क्लोन है। ddआदेश त्वरित और आसान है, और SATA कनेक्शन आसान है। अपने सिस्टम की सुरक्षा से बचने का कोई कारण नहीं है। बस सावधान रहें कि प्रत्येक चरण पर आप किसी भी और सभी परिवर्तनों को वापस कर सकते हैं जो हो सकते हैं। हार्ड राइव आपके समय की तुलना में बहुत कम खर्चीली हैं। (जब तक आपको नहीं लगता कि यह सच है)। ग्रांट फंड्स प्लस टाइम क्रंच पर्याप्त प्रोत्साहन होना चाहिए।
एसडीसोलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.