একই মেশিনে একাধিক পাইথন সংস্করণ?


89

পাইথন ওয়েবসাইটটিতে কোথাও অফিসিয়াল ডকুমেন্টেশন আছে, লিনাক্সে একই মেশিনে পাইথনের একাধিক সংস্করণ কীভাবে ইনস্টল ও চালানো যায়?

আমি গাজিলিয়ন ব্লগ পোস্ট এবং উত্তরগুলি খুঁজে পেতে পারি, তবে আমি জানতে চাই যে এটি করার কোনও "স্ট্যান্ডার্ড" অফিসিয়াল উপায় আছে কিনা?

নাকি এ সবই ওএসের উপর নির্ভরশীল?

উত্তর:


79

আমি মনে করি এটি সম্পূর্ণ স্বাধীন। শুধু তাদের ইনস্টল করুন, তারপর আপনি কমান্ড যেমন /usr/bin/python2.5এবং /usr/bin/python2.6/usr/bin/pythonআপনি যেটি ডিফল্ট হিসাবে ব্যবহার করতে চান তার সাথে লিঙ্ক করুন ।

সমস্ত গ্রন্থাগারগুলি যাইহোক পৃথক ফোল্ডারে (সংস্করণটির নামে নামকরণ করা) রয়েছে।

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

একাধিক সংস্করণ ইনস্টল করা হচ্ছে

ইউনিক্স এবং ম্যাক সিস্টেমে আপনি একই ইনস্টলেশন উপসর্গ (কনফিগার স্ক্রিপ্টের পূর্বশক্তি আর্গুমেন্ট) ব্যবহার করে পাইথনের একাধিক সংস্করণ ইনস্টল করতে চান তবে আপনাকে অবশ্যই যত্নবান হতে হবে যে আপনার প্রাথমিক পাইথন এক্সিকিউটেবলটি অন্য কোনও সংস্করণ ইনস্টল করে ওভাররাইট করা যাবে না। "মেক ওয়েলইনস্টল" ব্যবহার করে ইনস্টল করা সমস্ত ফাইল এবং ডিরেক্টরিগুলি প্রধান এবং গৌণ সংস্করণ ধারণ করে এবং পাশাপাশি পাশাপাশি বাস করতে পারে। "মেক ইনস্টল" এছাড়াও $ f উপসর্গ bin / বিন / পাইথন 3 তৈরি করে যা $ f উপসর্গ} /bin/pythonX.Y বোঝায়। আপনি যদি একই উপসর্গটি ব্যবহার করে একাধিক সংস্করণ ইনস্টল করতে চান তবে আপনাকে অবশ্যই সিদ্ধান্ত নিতে হবে কোন সংস্করণ (যদি থাকে) আপনার "প্রাথমিক" সংস্করণ। "মেক ইনস্টল" ব্যবহার করে সেই সংস্করণটি ইনস্টল করুন। "Make altinstall" ব্যবহার করে অন্য সমস্ত সংস্করণ ইনস্টল করুন।

উদাহরণস্বরূপ, আপনি যদি পাইথন 2.5, 2.6 এবং 3.0 ইনস্টল করতে চান তবে 2.6 প্রাথমিক সংস্করণ হ'ল, আপনি আপনার 2.6 বিল্ড ডিরেক্টরিতে "মেক ইনস্টল" চালাবেন এবং অন্যগুলিতে "মেক ইলেকস্টোন" স্থাপন করবেন।


4
ধন্যবাদ, প্রাথমিকের "মেক ইনস্টল" এবং মাধ্যমিকের "মেক ইল্টিনস্টল" এটি পরিষ্কার করে দিয়েছে।
Andriy Drozdyuk

4
সংস্করণগুলির মধ্যে লাইব্রেরিগুলি ভাগ করার কোনও সঠিক উপায়? ধরা যাক আমার কাছে 2.6 এর জন্য মাইএসকিউএলডিবি আছে, তারপরে 2.7 ইনস্টল হয়েছে। আমি কীভাবে মাইএসকিউএলডিবি 2.7 এর জন্য উপলব্ধ করব?
রোমরোজজ

আপনার দেওয়া সমস্ত তথ্য ইউনিক্স / লিনাক্স এবং ম্যাক ওএসের জন্য, সুতরাং ওপিস যেমন জিজ্ঞাসা করেছেন তেমন পরিষ্কারভাবে ওএসের "সম্পূর্ণ স্বাধীন" নয়। উইন্ডোজের জন্য প্রক্রিয়াটি বেশ আলাদা তবে সমান সহজ easy
wwnene

28

উইন্ডোজ এ তারা পৃথক ফোল্ডারগুলি "সি: y পাইথন 26" এবং "সি: separate পাইথন 31" ইনস্টল করে, তবে এক্সিকিউটেবলের একই "পাইথন.এক্স" নাম রয়েছে।

আমি অন্য একটি "সি: \ পাইথন" ফোল্ডার তৈরি করেছি যার মধ্যে রয়েছে "পাইথন.বাট" এবং "পাইথন ৩.বাট" যা যথাক্রমে "পাইথন 26" এবং "পাইথন 31" তে র‌্যাপার হিসাবে পরিবেশন করে এবং PATHপরিবেশ পরিবর্তনশীলে "সি: y পাইথন" যুক্ত করেছে ।

এটি আমার পছন্দসইটি শুরু করতে আমার .bat পাইথন মোড়কে টাইপ করতে pythonবা python3আমার টাইপ করতে দেয় ।

লিনাক্সে, আপনি #!কোন সংস্করণটি স্ক্রিপ্ট ব্যবহার করতে চান তা নির্দিষ্ট করতে আপনি কৌশলটি ব্যবহার করতে পারেন।


। .Bat ফাইলগুলিতে কী যুক্ত করবেন?
এইডিস

এই উত্তরটি কেবলমাত্র উইন্ডোজ-নির্দিষ্ট এবং প্রশ্নটি লিনাক্স সম্পর্কিত, অন্যথায় দুর্দান্ত তথ্য সম্পর্কিত কারণটিকে সমর্থন করবে না।
জিম আহো

4
ব্যবহারকারীর আর উপস্থিত নেই, আমি সত্যিই সেই ব্যাচের ফাইলটি চেয়েছিলাম
ওয়ার্গোগ

6
এটি আমি আমার পাইথন.বাট ফাইলটিতে ফেলেছি (কেবল একটি লাইন): "সি: \ পাইথন ২\ \ পাইথন% *" তারপরে আমি কেবল এটি সাধারনত প্রার্থনা করি, অর্থাত্ 'পাইথন টেস্ট.পি' এবং% * সমস্ত আর্গুমেন্ট ধরে ফেলবে এবং এটি প্রকৃত এক্সিকিউটেবলের কাছে প্রেরণ করুন। আপনি সরাসরি আপনার সি: \ বিন ফোল্ডারে mklink ব্যবহার করতে পারেন। বিশদগুলির জন্য এখানে দেখুন: stackoverflow.com/a/13953614/865929
শন গ্লোভার

4
এখন আপনি কেবল চালনা করতে পারেন py -3.4বা py -2.7প্রোগ্রামটি py(এর অধীনে C:\Windows) সেই অজগর দোভাষী (এটি ইনস্টল করে ধরে নিবেন) চয়ন করবে।
জেমস থমাসমুন 1979

14

আপডেট 2019: ব্যবহার করে asdf

এই দিনগুলিতে আমি একে অপরের পাশে পাইথন ইন্টারপ্রেটারদের বিভিন্ন সংস্করণ ইনস্টল করতে এস্যাসিডেফ ব্যবহার করার পরামর্শ দিচ্ছি ।

দ্রষ্টব্য 1: asdfপাইথনের জন্য নয় কেবল সমস্ত বড় ভাষার জন্য কাজ করে।

নোট 2: পিপেনভ এবং কবিতারasdf মতো জনপ্রিয় প্যাকেজ-পরিচালকদের সাথে একত্রে সূক্ষ্মভাবে কাজ করে ।

যদি আপনি জিএসডিএফ ইনস্টল করেছেন তবে আপনি সহজেই নতুন পাইথন ইন্টারপ্রেটার ডাউনলোড / ইনস্টল করতে পারেন:

# Install Python plugin for asdf:
asdf plugin-add python

# List all available Python interpreters:
asdf list-all python

# Install the Python interpreters that you need:
asdf install python 3.7.4
asdf install python 3.6.9
# etc...

# If you want to define the global version:
asdf global python 3.7.4

# If you want to define the local (project) version:
# (this creates a file .tool-versions in the current directory.)
asdf local python 3.7.4

পুরানো উত্তর: উত্স থেকে পাইথন ইনস্টল করুন

যদি আপনাকে উবুন্টু / মিন্টে পাইথনের একাধিক সংস্করণ (মূল একের পাশে) ইনস্টল করতে হয় : (অন্যান্য ইউনিক্সের মতো একই কাজ করা উচিত))

1) উত্স সংকলনের জন্য প্রয়োজনীয় প্যাকেজ ইনস্টল করুন

$ sudo apt-get install build-essential checkinstall
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

2) কাঙ্ক্ষিত পাইথন সংস্করণটি ডাউনলোড এবং নিষ্কাশন করুন

পাইথন উত্সটি লিনাক্সের জন্য টার্বল হিসাবে ডাউনলোড করুন এবং এটিকে সরান /usr/src

জায়গায় ডাউনলোড করা প্যাকেজটি বের করুন। (আপনার ডাউনলোড সংস্করণ দিয়ে 'এক্স এর প্রতিস্থাপন)

$ sudo tar xzf Python-x.x.x.tgz

3) পাইথন উত্সটি সংকলন এবং ইনস্টল করুন

$ cd Python-x.x.x
$ sudo ./configure
$ sudo make altinstall

আপনার নতুন পাইথন বিনটি এখন অবস্থিত /usr/local/bin। আপনি নতুন সংস্করণ পরীক্ষা করতে পারেন:

$ pythonX.X -V
Python x.x.x
$ which pythonX.X
/usr/local/bin/pythonX.X

# Pip is now available for this version as well:
$ pipX.X -V
pip X.X.X from /usr/local/lib/pythonX.X/site-packages (python X.X)

6

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

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


আমি একটি ম্যাকের সাথে কনফিগার / মেক অ্যান্টিস্টল ইনস্টল করেছি। এখন পর্যন্ত কোনও সমস্যা নেই।
ইভজেনি

$user1ডিফল্টর চেয়ে আরও একটি অজগর সংস্করণ দেওয়া কি সম্ভব ?
রোল্যান্ড

4
@ রোল্যান্ড pyenvতার জন্য কাজ করবে। উপরে পোস্ট করা লিঙ্কের রিডমি থেকে:> [প্রতিটি] ব্যবহারকারীর ভিত্তিতে আপনি গ্লোবাল পাইথন সংস্করণ পরিবর্তন করেন।
theeddieh

5

আমি ম্যাক ব্যবহার করছি এবং আমার পক্ষে সবচেয়ে ভাল যেভাবে কাজ করেছে তা হল পেনভ ব্যবহার করা!

নীচের কমান্ডগুলি ম্যাকের জন্য তবে লিনাক্সের সাথে বেশ সমান (নীচের লিঙ্কগুলি দেখুন)

#Install pyenv
brew update
brew install pyenv

ধরা যাক আপনার ম্যাকটিতে আপনার প্রাথমিক সংস্করণ হিসাবে অজগর 3.6 রয়েছে:

python --version 

আউটপুট:

Python <your current version>

এখন পাইথন ৩.7 ইনস্টল করুন, প্রথমে সমস্ত তালিকা করুন

pyenv install -l

আসুন 3.7.3 নিন:

pyenv install 3.7.3

এটি টার্মিনালে চালানো নিশ্চিত করুন (এটি ~ / .bashrc বা ~ / .zshrc এ যুক্ত করুন):

export PATH="/Users/username/.pyenv:$PATH"
eval "$(pyenv init -)"

এখন এটি কেবল খোলা টার্মিনাল / শেল এ চালানো যাক :

pyenv shell 3.7.3

এখন চালান

python --version

আউটপুট:

Python 3.7.3

এবং খোলা শেল / আইটার্মে এটিকে কম সেট না করে গুরুত্বপূর্ণ :

pyenv shell --unset

আপনি এটা চালাতে পারেন বিশ্বব্যাপী বা স্থানীয়ভাবে পাশাপাশি


1

প্যাকেজ পরিচালক - ব্যবহারকারী স্তর

পাইজনের একাধিক সংস্করণ ইনস্টল ও পরিচালনা করতে পারে এমন প্যাকেজ পরিচালকের জন্য, এগুলি ভাল পছন্দ:

  • পাইয়ানভ - কেবল পাইথনের সংস্করণ ইনস্টল করতে ও পরিচালনা করতে সক্ষম
  • এসএসডিএফ - অনেকগুলি বিভিন্ন ভাষা ইনস্টল করতে ও পরিচালনা করতে সক্ষম

এই প্যাকেজ পরিচালকদের সুবিধাগুলি হ'ল উত্স থেকে পাইথন ইনস্টল করার চেয়ে এগুলি সেটআপ করা এবং পাইথনের একাধিক সংস্করণগুলি তাদের সাথে ইনস্টল করা আরও সহজ। এগুলি সহজেই শিম ব্যবহার করে পাওয়া অজগর সংস্করণ (গুলি) পরিবর্তন করতে এবং প্রতি ডিরেক্টরিতে পাইথন সংস্করণ সেট করার জন্য কমান্ড সরবরাহ করে।

এই অসুবিধাটি হ'ল, ডিফল্টরূপে এগুলি ব্যবহারকারী-স্তরে ইনস্টল করা হয় (আপনার হোম ডিরেক্টরিের ভিতরে) এবং ব্যবহারকারী-স্তরের কিছুটা কনফিগারেশন প্রয়োজন - আপনার ~/.profileএবং আপনার ~/.bashrcঅনুরূপ ফাইলগুলি সম্পাদনা করতে হবে । এর অর্থ হল যে সমস্ত ব্যবহারকারীর জন্য বিশ্বব্যাপী একাধিক অজগর সংস্করণ ইনস্টল করতে এগুলি ব্যবহার করা সহজ নয়। এটি করার জন্য, আপনি ওএসের বিদ্যমান পাইথন সংস্করণের পাশাপাশি উত্স থেকে ইনস্টল করতে পারেন।


উত্স থেকে ইনস্টলেশন - সিস্টেম-ব্যাপী

এই পদ্ধতির জন্য আপনার রুট সুবিধার দরকার হবে need

অতিরিক্ত বিবেচনা এবং বিকল্পের জন্য উত্স থেকে বিল্ডিংয়ের জন্য অফিসিয়াল পাইথন ডকুমেন্টেশন দেখুন ।

/usr/localভাগ করা (সিস্টেম-ব্যাপী) সফ্টওয়্যার ইনস্টল করার জন্য সিস্টেম প্রশাসকের জন্য মনোনীত অবস্থান, সুতরাং পাইথন উত্স ডাউনলোড ও ইনস্টল করার জন্য এটি উপ-ডিরেক্টরিগুলি একটি ভাল জায়গা। লিনাক্স ফাউন্ডেশনের ফাইল হায়ারার্কি স্ট্যান্ডার্ডের ৪.৯ বিভাগ দেখুন ।

যেকোন বিল্ড নির্ভরতা ইনস্টল করুন। ডেবিয়ান-ভিত্তিক সিস্টেমে, ব্যবহার করুন:

apt update
apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev libbz2-dev

আপনি কোন অজগর সংস্করণ ইনস্টল করতে চান তা চয়ন করুন। দেখুন পাইথন উত্স রিলিজএকটি তালিকার জন্য পৃষ্ঠাটি ।

পাইথন সংস্করণ (অর্থাত ) এর সাথে নীচে /usr/local/srcপ্রতিস্থাপন X.X.Xকরে ফাইলটি ডাউনলোড এবং আনজিপ করুন 3.8.2

cd /usr/local/src
wget https://www.python.org/ftp/python/X.X.X/Python-X.X.X.tgz
tar vzxf Python-X.X.X.tgz

বিল্ডিং এবং ইনস্টল করার আগে CFLAGSসি সংকলক পতাকাগুলি প্রয়োজনীয় পরিবেশের সাথে পরিবেশ পরিবর্তনশীল সেট করুন (জিএনইউর makeডকুমেন্টেশন দেখুন )। এটি সাধারণ ব্যবহারের জন্য সাধারণত প্রয়োজন হয় না, তবে উদাহরণস্বরূপ, আপনি যদি এই অজগর সংস্করণটি দিয়ে একটি ইউডাব্লুএসজিআই প্লাগইন তৈরি করতে যাচ্ছিলেন তবে আপনি পতাকাগুলি সেট করতে চাইবেন -fPIC, নিম্নলিখিতটি সহ:

export CFLAGS='-fPIC'

ভার্জিং ডিরেক্টরিটি আনজিপড পাইথন উত্স ডিরেক্টরিতে পরিবর্তন করুন এবং বিল্ডটি কনফিগার করুন। আপনি প্রোফাইল নির্দেশিত অপ্টিমাইজেশনের জন্য সম্ভবত কমান্ডের --enable-optimizationsবিকল্পটি ব্যবহার করতে চাইবেন । ব্যবহার করুন সঠিক সাবডিরেক্টরি (ইনস্টল করতে , , ইত্যাদি)।./configure--prefix=/usr/local/usr/local/bin/usr/local/lib

cd Python-X.X.X
./configure --enable-optimizations --prefix=/usr/local

প্রকল্পটি তৈরি করুন makeএবং make altinstallএকাধিক সংস্করণ ইনস্টল করার সময় কোনও ফাইলকে ওভাররাইড করা এড়ানোর জন্য এটি ইনস্টল করুন। পাইথন বিল্ড ডকুমেন্টেশনের এই পৃষ্ঠায় সতর্কতাটি দেখুন ।

make -j 4
make altinstall

তারপরে pythonX.Xএবং আপনার pipX.X(যেমন python3.8এবং pip3.8) দিয়ে আপনার নতুন অজগর এবং পাইপ সংস্করণ চালাতে সক্ষম হওয়া উচিত । মনে রাখবেন যে আপনার নতুন ইনস্টলেশনটির ছোটখাটো সংস্করণ যদি ওএস-এর সংস্করণের সমান হয় (উদাহরণস্বরূপ যদি আপনি পাইথন ৩..4.৪ ইনস্টল করছেন এবং ওএস পাইথন ৩.৮.২ ব্যবহার করে) তবে আপনাকে পুরো পথটি নির্দিষ্ট করতে হবে ( /usr/local/bin/pythonX.X) বা একটি সেট সেট করতে হবে এই সংস্করণটি ব্যবহার করার জন্য উপনাম।


0

এটি আপনার ব্যবহৃত প্যাকেজ বিতরণ সিস্টেমে সবচেয়ে দৃ strongly়তার সাথে নির্ভরশীল। উদাহরণস্বরূপ, ম্যাকপোর্টস সহ আপনি একাধিক পাইথন প্যাকেজ ইনস্টল করতে পারেন এবং এটি ব্যবহার করতে পারেনpyselect সহজেই তাদের মধ্যে ডিফল্ট স্যুইচ করতে ইউটিলিটিটি করতে পারেন। সর্বকালে, আপনি পুরো পথ সরবরাহ করে বিভিন্ন পাইথন দোভাষীকে কল করতে সক্ষম হন এবং আপনি সমস্ত পাইথন লাইব্রেরি এবং শিরোনামগুলির সাথে সম্পূর্ণ পথ সরবরাহ করে লিঙ্ক করতে সক্ষম হন।

সুতরাং মূলত, আপনি যেভাবেই সংস্করণগুলি ইনস্টল করেন না কেন আপনি যতক্ষণ আপনার ইনস্টলেশন পৃথক রাখেন, আপনি সেগুলি পৃথকভাবে চালাতে সক্ষম হবেন।


প্যাকেজ বিতরণ সিস্টেম কী?
অ্যান্ড্রি দ্রোজডিয়ুক

@ হাইড্রজি: উদাহরণস্বরূপ ওপেনসুস দ্বারা ব্যবহৃত আরপিএম বা ডেবিয়ান-ভিত্তিক বিতরণগুলি ব্যবহার করে বা জেন্টু দ্বারা ব্যবহৃত পোর্টেজ ইত্যাদি মূলত এটি সফ্টওয়্যার ইনস্টল করার একটি সরঞ্জাম।
ফেলিক্স ক্লিং

0

আমি এ্যানাকোন্ডা নেভিগেটর দিয়ে এটি করেছি। আমি অ্যানাকোন্ডা নেভিগেটর ইনস্টল করেছি এবং বিভিন্ন অজগর সংস্করণ সহ দুটি পৃথক বিকাশ পরিবেশ তৈরি করেছি

এবং বিভিন্ন অজগর সংস্করণের মধ্যে স্যুইচিং বা সক্রিয়করণ এবং পরিবেশকে নিষ্ক্রিয় করে by

প্রথমে অ্যানাকোন্ডা নেভিগেটর ইনস্টল করুন এবং তারপরে পরিবেশ তৈরি করুন।

পরিবেশগুলি পরিচালনা করার জন্য এখানে সহায়তা দেখুন

https://docs.anaconda.com/anaconda/navigator/tutorials/manage-enomotments/

কনডা দিয়ে ভিডিওটি এখানে দেওয়া হচ্ছে

https://youtu.be/EGaw6VXV3GI

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