অ্যানাকোনডা পাইথন 3 কে ডিফল্ট হিসাবে সেট করার পরে আমি কীভাবে পাইথন 2 এ ফিরে যেতে পারি?


18

সম্প্রতি, আমি আমার 15.04 এ অ্যানাকোন্ডা 3-2.5.0- লিনাক্স-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তাড়াহুড়া হিসাবে কিছু প্রবেশ করলাম এবং আমি মনে করি এটি এর সাথে কিছু করতে হয়েছিল do (ঠিক আছে, আমার দোষ, আমার এটিকে সাবধানে পরিচালনা করা উচিত ছিল, তবে আমার এখন সাহায্যের দরকার, সমালোচনা নয়)।

স্ক্রিনশট

আফাইক এটি অবশ্যই অন্যান্য প্রোগ্রাম ভাঙ্গতে চলেছে। আমি এখন কী করব?


আমার মনে হয় যা কাজ করতে পারে।

এ্যালিয়াস ব্যবহার করে কি করা যায়?

alias python=python2

তবে আমি নিশ্চিত নই।


হ্যাঁ. ব্যবহারalias python=python2
মোস্তফা অহঙ্গারহা

আফাইক এটি অবশ্যই অন্যান্য প্রোগ্রাম ভাঙ্গতে চলেছে। কি করে আপনি তাই মনে? যদি অ্যানাকোন্ডা পাইথন 3 কে ডিফল্ট হিসাবে সেট করে, এটি সম্ভবত কোনও কারণে।
fkraiem

আমি ইতিমধ্যে আমার প্রজেক্টগুলির একটি নষ্ট করে ফেলেছি যা 2.x এর জন্য লেখা হয়েছিল এবং ডিফল্টকে 3.x এ রূপান্তর করা উত্সাহিত হয় না বিশেষত যেহেতু অনেকগুলি প্যাকেজ 2.x এ কাজ করে!
ভ্রষ্ট

এটি তখনই যখন আপনি খুব খুশি হন যে আপনি পেশাদার পদ্ধতিটি গ্রহণ করেছেন এবং এটির একটি বড় সময় নষ্ট হওয়ার হাত থেকে রক্ষা পেতে আপনার প্রাক-ইনস্টল বুট ড্রাইভের একটি ক্লোন রেখেছিলেন। নীচে আমার উত্তর দেখুন। আমি মনে করি আপনার ইনস্টল পদ্ধতিটি বিঘ্ন ঘটায়। সুতরাং যদি আমার সাথে এটি ঘটে তবে আমি আবার ফিরে যাব এবং আবার চেষ্টা করব। এটি বাস্তবসম্মত কিনা তা নির্ধারণের জন্য মোট সময় এক দিনেরও কম হবে। আমার ক্ষেত্রে, আপনি দেখতে পাচ্ছেন যে, আমি যাচাইকরণের শেষে আছি তাই এখন এটি অগ্রণী হতে পারে যে এটি প্রথম স্থানে চেষ্টা করার উপযুক্ত কিনা। এটির কারণে কোনও সমস্যা না ঘটে তা নিশ্চিত হওয়ার জন্য কয়েক দিন সময় নিয়েছে এবং গবেষণা কাজ চলছে।
এসডসোলার

পাইথনের সংস্করণ নির্দিষ্ট করার জন্য, নিশ্চিত হয়ে নিন যে আপনি আপনার পুরো সিস্টেম জুড়ে যে রেপ্পল প্রভাব ফেলতে পারেন তা ঠিক জানেন। আপনি কেবল খেলছেন না যদি না আপনি ডিফল্ট which pythonশেবাং ফলাফলের লক্ষ্যগুলি পরিবর্তন করেন তবে সত্যিকার অর্থে একটি সম্পূর্ণ যাচাই প্রক্রিয়া প্রয়োজন require আপনার নিজের কিছু ইউটিলিটি পুনরায় লেখার প্রয়োজনের কোণে নিজেকে আঁকিয়েছেন তা আবিষ্কার করতে পেরে সামনে সামান্য সময় লাগবে। আপনার হাতে প্রচুর সময় না থাকলে ডিফল্টদের সাথে কাজ করা ভাল।
এসডসোলার

উত্তর:


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
"৪. $ হোম / বিনকে $ पथ" প্রস্তুত করুন .. ইতিমধ্যে ডিফল্টরূপে সম্পন্ন হয়েছে ~/.profile- তৈরির পরে কেবল একটি পুনর্বিবেচনা প্রয়োজন ~/bin
মুড়ু

@ মুরু এটি সত্য, ধন্যবাদ উত্তরে যুক্ত হয়েছে।
নেফেন্টে

ঠিক আছে, যে কাজ করেছে, ধন্যবাদ! কেবল এটি লক্ষ করা যায়, যে আমার পাইথন 3.4.3 আগেও ইনস্টল ছিল (এবং পাইপ এবং পাইপ 3 এটির সাথে যুক্ত ছিল), এখন আমার 2.7, 3.4, 3.5 রয়েছে। এখন আমি এটি পুনরায় ইনস্টল করতে যাচ্ছি 3.5 এর দিকে নির্দেশ করুন!
দুষ্টু

অ্যানাকোন্ডা কনডা নামে নিজস্ব প্যাকেজ ম্যানেজার নিয়ে আসে। এটি ভার্চুয়াল পরিবেশ পরিচালনা করে। আমি পাইপের পরিবর্তে প্যাকেজ ইনস্টল করতে এটি ব্যবহার করি।
নেফেন্তে 20'16


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

আপনার যদি এটির প্রয়োজন হয় তবে আপনার খুব গভীর সমস্যা হতে পারে। যদি আপনার সিস্টেমটি গুরুত্বপূর্ণ হয় তবে পাইথন নির্ভর কোনও আদেশ এবং / অথবা ইউটিলিটিগুলির একটি সম্পূর্ণ যাচাই করুন do ন্যায্য সতর্কতা.
এসডসোলার

3

যদি কেউ তার অজগরটি ডিফল্ট সংস্করণটি গণ্ডগোলের পরে ২.7-এ ফিরে ফিরে দেখতে চায় (ডিফল্টটিকে একটিতে: অ্যানাকোন্ডা বা পাইথন 3 দ্বারা পরিবর্তন করে) এবং অ-কার্যকরী সফ্টওয়্যারটি দিয়ে শেষ হয় তবে কেবল এই লিঙ্কটি অনুসরণ করুন: ডিফল্ট পরিবর্তন করার জন্য নির্দেশাবলীর সাথে লিঙ্ক করুন অজগর সংস্করণ।


যদি কোনও সিস্টেমের পরিবর্তন অচল হয়ে যায় তবে নিশ্চিত হয়ে নিন যে আপনি এটি আবার রোল করতে পারেন। আপনার সিস্টেমের ভাল ইমেজ ব্যাকআপ রয়েছে তা নিশ্চিত করুন যাতে আপনার পরিকল্পনা অনুযায়ী না চলে তবে যে কোনও বড় পরিবর্তনগুলি দ্রুত বিপরীত হতে পারে। পেশাদার চিন্তা করুন। আপনি যদি অপেশাদার কৌশল ব্যবহার করেন তবে আপনি পেশাদার ফলাফল আশা করতে পারবেন না।
এসডসোলার

1

এটি আমার পক্ষে কাজ করেছে তবে মিনিকোন্ডার পক্ষেও এটি অ্যানাকোন্ডার পক্ষে কাজ করা উচিত তবে দয়া করে আমি ভুল হলে আমাকে সংশোধন করুন।

প্রথমে আপনার $ PATH ভেরিয়েবলটি পান:

echo $PATH

এটি সম্ভবত এটির মতো দেখাবে (সমস্ত কিছুর আগে মিনিকোন্ডা পথ):

/home/your_user/miniconda3/bin:$PATH

আপনার পাথটি আপনার ~ / .bashrc ফাইলের নীচে অনুলিপি করুন, তবে মিনিকোন্ডার সাথে পথটি আরম্ভের পরিবর্তে শেষের দিকে:

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

সিস্টেমটি মিনিকোন্ডা 3 / বিন ফোল্ডারের আগে $ PATH ভেরিয়েবলের শুরুতে প্রোগ্রামগুলি সন্ধান করবে ।

এটি অজগর মত আপনার পূর্ববর্তী প্রোগ্রামগুলির সংস্করণগুলি পুনরুদ্ধার করা উচিত।

কন্ডা ৪.৪ থেকে শুরু করে তারা ~ / .bashrc এ যুক্ত কোডটি পরিবর্তন করেছে । এখন, একই জিনিসটি অর্জন করতে, terminal / .bashrc সম্পাদনা করুন এবং প্রতিটি টার্মিনালে বেস স্তর (বেস পরিবেশ) সক্রিয় হওয়া থেকে রোধ করতে নীচের লাইনে মন্তব্য করুন। নতুন সংযোজনগুলির অন্য কোনও অংশ স্পর্শ করার দরকার নেই। আমার তাত্পর্য কী CONDA_CHANGEPS1=falseআছে তা আমি অনিশ্চিত , তবে এখনও পর্যন্ত কোনও ইস্যুতে প্রবেশ করি নি।

   # CONDA_CHANGEPS1=false conda activate base

এবং যখন তুমি কি আর পথে conda ফোল্ডারটি দেখতে পাবে, condaকমান্ড এখনো জরিমানা চালানো হবে, এবং আপনার মূল python, python3এবং pipenvকমান্ড হিসাবে ভাল হবে।


আপভোট করুন কারণ আমি মনে করি আপনি সঠিক। এটি ডাটাবেসে থাকা ভাল। যাইহোক, আমি দয়া করে জিজ্ঞাসা করতে পারি যে আপনি জড়িত সফ্টওয়্যারটির সংস্করণ নম্বরগুলি সম্পর্কে আরও সুনির্দিষ্ট হন?
এসডসোলার

আপনাকে ধন্যবাদ, এবং আমি সত্যিই মনে করি না যে প্রোগ্রাম সংস্করণটি গুরুত্বপূর্ণ, এটি সর্বদা কাজ করা উচিত। আমার ইনস্টলারটি তখন নিম্নলিখিত সংস্করণে ছিলেন তবে: মিনিকোন্ডা ৪.৩.১৪। এটা কি সাহায্য করে?
pedrodcb

0

এখানে আমার উত্তর, এবং এটি আপনার নিজের সিস্টেমে কী করেছেন তার প্রকৃত নির্দিষ্ট উত্তর হতে পারে বা নাও হতে পারে।

তবে, আমিও একই পরিস্থিতিতে আছি এবং আমারও একই উদ্বেগ ছিল।

আমি উবুন্টু ১.0.০৪ এলটিএস এবং পাইথন ২.7.১২ ব্যবহার করছি এবং সম্প্রতি সন্ধান পেয়েছি অ্যানাকোন্ডা।

সুতরাং এখন, আমি যখন কমান্ড লাইনে গিয়ে টাইপ 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সেখানে ইনস্টল করার ক্ষেত্রে আপনার পরিস্থিতির আরও বেশি হওয়া উচিত।

আমার অভিজ্ঞতা থেকে এটি মোটেও সমস্যা নয়।


এফওয়াইআই, আমার একটি সম্পূর্ণ বৈজ্ঞানিক ওয়ার্কস্টেশন রয়েছে, সৌর গতিবেগ নিয়ে কাজ করছি। ইফেমেরালস এবং উপগ্রহের মিথস্ক্রিয়া সম্পর্কেও। এটা কাজ করা আবশ্যক। সুতরাং আমি এই সমস্ত মধ্যে কেবল একটি কৌশল নয়। আমি একবারে একটি জিনিস ইনস্টল করি, এবং তারপরে যাচাই করার আগে যা কিছু ঘটে যায় তা যাচাই করে নিই। তারপরে আমি পরের দিকে এগিয়ে যাই। সায়পি, ম্যাটপ্ল্লোব ইত্যাদি plot (চক্রান্ত করার জন্য আমার পছন্দটি gnuplot)। সুতরাং দয়া করে বুঝতে পারি যে আমি একাডেমিক গবেষণা পরিবেশে লাইভ 24x7 ওয়ার্কিং সিস্টেম থেকে ডেটাপয়েন্ট হিসাবে এই উত্তরটি জমা দিচ্ছি। এটি কোনও পরীক্ষার পরিবেশ নয় - এটি প্রতিদিনের উত্পাদন।
এসডসোলার

এছাড়াও, আমি উপরের একটি মন্তব্যে ইঙ্গিত হিসাবে, পেশাদার মনে করি। এই সিস্টেমগুলি সারা বিশ্বে খুব উচ্চ-স্তরের গবেষকরা ব্যবহার করছেন। -> কোনও বড় সিস্টেম আপগ্রেড করার আগে আপনার বুট ড্রাইভের ক্লোন রয়েছে কিনা তা নিশ্চিত হয়ে নিন। ddকমান্ড দ্রুত এবং সহজ, এবং SATA সংযোগ সহজ। আপনার সিস্টেমকে সুরক্ষা এড়ানোর কোনও কারণ নেই। কেবল সতর্কতা অবলম্বন করুন যে প্রতিটি পদক্ষেপে আপনি যে কোনও এবং যে কোনও পরিবর্তন হতে পারে তা ফিরিয়ে দিতে পারেন। হার্ড রিভগুলি আপনার সময়ের চেয়ে অনেক কম ব্যয়বহুল। (যদি না আপনি সত্য বলে মনে করেন)) অনুদান তহবিল এবং একটি সময়ের ক্রাঙ্ক যথেষ্ট উত্সাহী হওয়া উচিত।
এসডসোলার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.