আমি ম্যাকে পাইথন 2 এবং 3 উভয়ই ইনস্টল করতে হোমব্রিউ ব্যবহার করতে পারি?


146

পাইথন 2 এবং 3 এর মধ্যে আমার পিছনে পিছনে স্যুইচ করতে সক্ষম হওয়া দরকার আমি কীভাবে হোমব্রু ব্যবহার করে পথের সাথে গোলযোগ করতে চাই না এবং সমস্যায় পড়তে চাই না। এখনই আমি হোমব্রিউয়ের মাধ্যমে 2.7 ইনস্টল করেছি।


আপনি হোমব্রব রেফারেন্সটি সরিয়ে ফেলতে প্রশ্নটি পরিবর্তন করতে চাইতে পারেন কারণ আপনার লক্ষ্যটি অর্জন করা অগত্যা প্রয়োজন নয় (উদাহরণস্বরূপ নীচে আমার উত্তর দেখুন stackoverflow.com/a/49091638/2923369 )
ম্যাট শ্লোবোহম

উত্তর:


288

আমি পাইয়ানভ ব্যবহার করব আপনি এটি ইনস্টল করতে পারেন:

$ brew install pyenv

আপনার ব্যাশ শেলের মধ্যে পায়ানভ সক্ষম করতে, আপনাকে চালনা করতে হবে:

$ eval "$(pyenv init -)"

শুরু করার পরে বাশের জন্য স্বয়ংক্রিয়ভাবে এটি করতে আপনার নিজের সাথে এই লাইনটি যুক্ত করুন ~/.bash_profile1

ব্যবহার:

একবার আপনি পাইএনভ ইনস্টল করে এটি সক্রিয় করার পরে, আপনি পাইথনের বিভিন্ন সংস্করণ ইনস্টল করতে পারেন এবং আপনি কোনটি ব্যবহার করতে পারেন তা চয়ন করতে পারেন। উদাহরণ:

$ pyenv install 2.7.5

আপনি যে সংস্করণগুলি ইনস্টল করেছেন তা পরীক্ষা করতে পারেন:

$ pyenv versions

এবং আপনি কমান্ডটি দিয়ে পাইথন সংস্করণগুলির মধ্যে স্যুইচ করতে পারেন:

$ pyenv global 3.3.1

এছাড়াও আপনি বর্তমান ডিরেক্টরীটির জন্য পাইথন সংস্করণটি এটি সহ সেট করতে পারেন:

$ pyenv local 3.5.2

আপনি চালিয়ে পরীক্ষা করতে পারেন python --version:

$ python --version
Python 3.5.2

1 হোমব্রেইউ আপনাকে পাইয়ানভ ইনস্টল করার পরে এটি করার জন্য নির্দেশনা দিয়েছিল তবে বার্তাটি সরানো হয়েছে । Zsh এবং অন্যান্য শেলগুলির জন্য, সুনির্দিষ্ট পদক্ষেপগুলি ভিন্ন হতে পারে।


এটি সহজ সমাধান। আমি বর্তমানে পাইথন 3 এবং 2.7.x এর মধ্যে স্যুইচ করার জন্য এটি ব্যবহার করি
নাজ মীর

3
আমি ইতিমধ্যে মাধ্যমে 2.7 পাইথন ইনস্টল করে থাকেন homebrew , কিছু আমি ব্যবহার যত্ন নিতে হবে pyenv ? পাইনাভের মাধ্যমে আমি কি আরও একটি পাইথন ২.7 ইনস্টল করতে পারি ?
ড্রয় গুয়ান

3
হ্যাঁ, আপনি পাইয়নভের মাধ্যমে আরও একটি পাইথন ২.7 ইনস্টল করতে পারেন। এটি p PYENV_ROOT / সংস্করণগুলিতে সেই অজগরটি ইনস্টল করবে। হোমব্রিউয়ের মাধ্যমে ইনস্টল করা অন্যান্য অজগর 2.7 আপনি "পাইয়ানভ সংস্করণগুলি" চালানোর সময় "সিস্টেম" হিসাবে উপস্থিত হতে পারেন।
মলিওয়্যার

5
আমি যোগ করতে ছিল eval "$(pyenv init -)"আমার .profile / .zshrc করার pyenv পরিশ্রমী জন্য।
রোহমার

5
@ ইলিসিয়াভো, আপনাকে নিজের। eval "$(pyenv init -)"/
.Bash_profile

77

আপনি একই সাথে উভয় সংস্করণ ইনস্টল করতে পারেন।

হোমব্রিউ> = 1.5.0 এর জন্য:

1 লা মার্চ 2018 সাল থেকে pythonসূত্রটি পাইথন 3.x-তে উন্নীত করা python@2হবে, বিশেষত পাইথন ২.7-এর জন্য একটি নতুন সূত্র যুক্ত করা হবে।

দেখুন পরিবর্তনগুলি ঘোষণা এখানে বা এখানে পাইথন জন্য Homebrew ব্যবহার সম্পর্কে চূড়ান্ত ডক

পুরানো হোমব্রিউয়ের জন্য:

পাইথন ২.x এর জন্য:

brew install python

পাইথন 3.x এর জন্য:

brew install python3

এখন, আপনার মেশিনে উভয় সংস্করণ ইনস্টল করা হবে। আপনি যখন সংস্করণ 2 ব্যবহার করতে চান, pythonএক্সিকিউটেবলটি ব্যবহার করুন । আপনি যখন সংস্করণ 3 ব্যবহার করতে চান, python3এক্সিকিউটেবলটি ব্যবহার করুন ।


প্রশ্ন উভয় ব্যবহার সম্পর্কে
মেডুজ

আপডেটের জন্য ধন্যবাদ! আমি অনুরূপ রুট অনুসরণ করেছি তবে PYTHONPATHপ্রতিটি পরিবর্তনে সেট করতে সমস্যা ছিল ... কোনও ধারণা? যে ছাড়াও, pyenvদুর্দান্ত।
মেডুজ

9
এছাড়াও, লক্ষ করুন যে পাশাপাশি পাইথন 2 এবং পাইথন 3 পাশাপাশি রয়েছে, সেই পাইথনটি পাইথন 2 এবং পাইথন 3 পয়েন্টটি প্রত্যাশার সাথে দেখায়। যাইহোক, একটি বড় গ্যাচা হ'ল পিপটি পিপ 2 এর প্রতি ইঙ্গিত দেয় না যেমনটি আপনি আশা করতে পারেন। এটি আসলে পাইপ 3-এ নির্দেশ করে (স্পষ্টতই পাইপ 3 হিসাবে)। পিপ 2 ব্যবহার করতে, স্পষ্টভাবে পাইপ 2 ব্যবহার করুন। পাইথন পয়েন্ট 2 এর অ সংখ্যা সংখ্যাটির সাথে সামঞ্জস্যহীন কিছুটা বেমানান, তবে পাইপ পয়েন্টের অ সংখ্যা সংখ্যা প্রত্যয়টি 3
জেডি

5
এটি পাইপের মতো সাধারণ এক্সিকিউটেবলগুলিকে গণ্ডগোল করে। পাইথন 3 এক্ষেত্রে পাইথন 2 পিপকে ওভাররাইট করবে এবং এটি হবে ডিফল্ট "
পাইপ

1
@ Kissgyorgy এর মন্তব্যের জবাবে: আমি যে সমস্যা ছিল, এই বিষয়ে গত মন্তব্য আমার জন্য এটি সমাধান করা github.com/Homebrew/legacy-homebrew/issues/50607 , দৌড়ানো python3 -m pip install -U --force-reinstall pipতারপর python -m pip install -U --force-reinstall pipকরা জিনিষ থাকার ফিরে pipপাইথন 2 এর পড়ুন pip
হ্যারি

11

বর্তমানে হোমব্রু পাইথন 2 এবং 3 এর জন্য দুটি পৃথক সূত্র সরবরাহ করে এবং পাইথন 3 brew install pythonইনস্টল করে এবং পাইথন 2 brew install python@2ইনস্টল করে। হোমব্রু ডক্সে আরও বিশদ:

https://docs.brew.sh/Homebrew-and-Python

আপনি যদি বর্তমানে হোমব্রিউয়ের মাধ্যমে 2.x ইনস্টল করেছেন তবে হোমব্রিউ আপনাকে বার্তা দেবে যেমন:

Error: python 2.7.14 is already installed
To upgrade to 3.6.5, run `brew upgrade python`

আপনি যদি চালান:

brew upgrade python

আপনার করা উচিত:

python --version

এবং

python3 --version

পাইথন 2.x এবং 3.x এর কোন সংস্করণ ইনস্টল করা আছে তা দেখতে।


6

বিকল্পভাবে, আপনি সম্ভবত পাইথন 3.x সংস্করণটি চালানোর জন্য "পাইথন 3" এবং সর্বশেষতম ইনস্টলড 2.x সংস্করণটি চালানোর জন্য "পাইথন" বা "পাইথন 2" লিখতে পারেন।


4

উভয় ব্যবহারের উপায় রয়েছে তবে আজকের সহজ সমাধানটি পায়েনভ ব্যবহার করা । পাইয়ানভ সংস্করণগুলির মধ্যে সহজেই স্যুইচিংয়ের অনুমতি দেয়। আমি সেট আপ করতে যা করেছি তা এখানে:

ধাপ 1:

আপনার ম্যাক থেকে সমস্ত অজগর সরান

 brew uninstall --ignore-dependencies --force python
 sudo rm -rf ~/miniconda3/
 sudo rm -rf ~/.conda/

নিম্নলিখিত থেকে সরান ~/.bash_profile

export PATH="/Users/ishandutta2007/miniconda3/bin:$PATH"

এবং নিম্নলিখিত থেকে ~/.bashrc

export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
export PYTHONPATH=/usr/local/lib/python2.7/site-packages/google:$PYTHONPATH
alias python="/usr/bin/python"

পদক্ষেপ 2 :

আপনার প্রয়োজনীয় পাইথ এবং পাইথন সংস্করণগুলি ইনস্টল করুন

brew update
brew install pyenv
pyenv install 2.7
pyenv install 3.7.0

পদক্ষেপ 3 :

যোগ pyenv initকরুন bash_profileবাbashrc

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

পদক্ষেপ 4 :

কি ইনস্টল করা হয়েছে তা পরীক্ষা করুন

pyenv versions
  • সিস্টেম (/ ব্যবহারকারী / আইশানদুত্ত2002007/.pyenv/version দ্বারা সেট করা)

    2.7

    3.7.0

Step5:

একটি ডিফল্ট চয়ন করুন

pyenv global 3.7.0

যখন কোনও প্রকল্পের পুরানো সংস্করণ দরকার হয়, কেবল তার মূল ফোল্ডারটি যান এবং চালান

pyenv local 2.7

1

असे্সডেফ ব্যবহার করুন !

আসাদ্ফের বল্লাদ

একসময় একটি প্রোগ্রামিং ভাষা
ছিল এর বহু সংস্করণ ছিল
তাই লোকেরা এটির জন্য একটি সংস্করণ পরিচালক লিখেছিলেন
প্রকল্পগুলির জন্য সংস্করণগুলির মধ্যে পরিবর্তন করতে
ভিন্ন, পুরানো, নতুন,

তারপরে আরও প্রোগ্রামিং ল্যাঙ্গুয়েজ
আসল তাই আরও সংস্করণ পরিচালক
এবং তাদের জন্য অনেকগুলি আদেশ এসেছে

আমি তাদের অনেকগুলি ইনস্টল করেছি
আমি প্রচুর কমান্ড শিখেছি

তারপরে আমি বললাম, আরও একটি সংস্করণ পরিচালক
যা আমি তার পরিবর্তে লিখব

সুতরাং, আর একটি সংস্করণ পরিচালক
এসিডেফ সংস্করণ পরিচালক এসেছিল - https://github.com/asdf-vm/asdf

এমন একটি সংস্করণ ব্যবস্থাপক যাতে প্রসারণযোগ্য
যার জন্য যে কেউ যে কোনও প্লাগইন তৈরি করতে পারে
তাদের পছন্দের ভাষা সমর্থন
করার জন্য আরও কোনও সংস্করণ পরিচালক ইনস্টল করা
বা আরও কমান্ড শিখতে হবে না

https://github.com/asdf-vm/asdf
https://github.com/tuvistavie/asdf-python
https://github.com/asdf-vm/asdf-plugins


আমার কাছে মনে হয় যে এগুলি প্রতিযোগিতামূলক সরঞ্জাম নয় তবে একই সরঞ্জাম, যা ভাষা প্রতি একবার প্রয়োগ করা হয়েছে (এবং কখনও কখনও একাধিকবার) implemented আইএমএইচওর মতো কেন আমাদের এলএসপির মতো কিছু দরকার তাও পছন্দ। মাইক্রোসফ্ট.
github.io/language-server- প্রোটোকল / ওভারভিউ

1

আমি ভেবেছিলাম পাইথন সংস্করণগুলির মধ্যে স্থানান্তরিত করার জন্য - আমার একই প্রয়োজনীয়তা ছিল - তবে আমি কেবল পাইথন 3.6 দিয়ে প্রয়োজনীয় সমস্ত কিছু ব্যবহারের পরিবর্তে উত্স থেকে বিল্ডিংয়ের মাধ্যমে অর্জন করেছি homebrew

git clone https://git.<theThingYouWantToInstall>

রেপোর উপর নির্ভর করে এই বিকল্পটির জন্য ইতিমধ্যে কোনও ফাইল তৈরি করা আছে কিনা তা পরীক্ষা করে দেখুন।



-3

ঠিক আছে, আমি পাইথন 3 ইনস্টল করার জন্য লড়াই করছি, কারণ আমার কাছে পাইপ 3 ছিল না

sudo pip3 command not found

এবং তাই আমি করেছি

brew uninstall --force --ignore-dependencies python3

এবং অফিশিয়াল ডিস্ট্রিবিউশন থেকে নিয়মিত পাইথন ৩.6.২ ইনস্টল করেছি এবং তারপরে আমার কাছে পাইপ ৩ ছিল এবং সমস্ত উপাদান ঠিক আছে।


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