পাইথনের বিভিন্ন সংস্করণ ব্যবহার করা


21

পটভূমি :

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

আমি এফসি 13 ব্যবহার করছি তাই এটি পাইথন 2.6 প্রি-ইনস্টল ইন /usr/bin/python2.6এবং এর সাথে আসে /usr/lib/python2.6

আমি উত্স থেকে পাইথন 2.5 ইনস্টল করেছি এবং জিনিসগুলি পরিষ্কার রাখার জন্য আমি --prefix=/usrবিকল্পটি ব্যবহার করেছি , যা পাইথন ইনস্টল করে /usr/bin/python2.5এবং /usr/lib/python2.5

এখন, আমি যখন pythonআমার প্রম্পট দেখায় আমি সংস্করণ 2.5 ব্যবহার করছি using তবে, ইনস্টলটি নিয়ে আমার কিছু সমস্যা হচ্ছে।

প্যাকেজ পরিচালনা :

Easy_install ব্যবহার করে প্যাকেজগুলি সর্বদা ইনস্টল থাকে /usr/lib/python2.6/site-packages/। আমি setuptoolsপাইথন 2.5 এর জন্য .egg ডাউনলোড করেছি এবং এটি ইনস্টল করার চেষ্টা করেছি, তবে এটি আমাকে একটি ত্রুটি দেয়:

/usr/lib/python2.5/site-packages does NOT support .pth files

দেখে মনে হচ্ছে পাইথন 2.5 আমার পাইথনপথে নেই। আমি ভেবেছিলাম ডিফল্ট ইনস্টলটি পাইথনপথে নিজেকে যুক্ত করবে তবে আমি যখন echo $PYTHONPATHপ্রম্পটে লিখি তখন আমি কেবল একটি খালি লাইন পাই।

উত্তর:


20

একাধিক পাইথন সংস্করণ ইনস্টল করার প্রস্তাবিত উপায় হ'ল উত্স থেকে প্রতিটি ইনস্টল করা - তারা আনন্দের সাথে একসাথে সহাবস্থান করবে। এরপরে প্রয়োজনীয় নির্ভরতা (পিপ বা ইজি_ইনস্টল ব্যবহার করে) ইনস্টল করতে আপনি উপযুক্ত দোভাষীর সাথে ভার্চুয়ালেনভ ব্যবহার করতে পারেন। উত্স থেকে একাধিক দোভাষীকে সহজেই স্থাপনের কৌশলটি হ'ল:

sudo make altinstall

আরও সাধারণ "সুডো মেক ইনস্টল" এর পরিবর্তে। এটি এক্সিকিউটেবলের সাথে সংস্করণ নম্বর যুক্ত করবে (সুতরাং আপনার পাইথন -২.২, পাইথন -২.6, পাইথন -৩.২ ইত্যাদি) এইভাবে পাইথনের সিস্টেম সংস্করণের সাথে কোনও বিবাদ রোধ করতে পারে।


2
অল্টিনস্টল + ভ্যুচুয়ালেনভ = অজগর উন্নয়ন নির্বাহনা ah ধন্যবাদ!
অ্যালেক্স

13

এটি ভার্চুয়ালেনভের জন্য একটি নিখুঁত অ্যাপ্লিকেশন বলে মনে হচ্ছে , বিচ্ছিন্ন পাইথন পরিবেশ তৈরির জন্য খুব জনপ্রিয় একটি সরঞ্জাম। পাইথনের সংস্করণ নির্দিষ্ট করার জন্য এটি একটি নমুনা কমান্ড

$ virtualenv --python=/usr/bin/python2.6 myvirtualenv

আমি মনে করি না যে virtualenvএই ক্ষেত্রে সমাধান হবে। আমার উত্তর দেখুন।
পাইটর ডব্রোগস্ট

5

ব্যবহার করে easy_install, প্যাকেজগুলি সর্বদা ইনস্টল থাকে /usr/lib/python2.6/site-packages/

কারণ ডিস্টুটিসগুলি ইনস্টল করা সমস্ত স্ক্রিপ্টগুলিতে শেবাং লাইন যুক্ত করে। আপনি যদি easy_installস্ক্রিপ্টটি সরাসরি চালনা করেন তবে এটি দোভাষী দ্বারা এটি কার্যকর করা হয় (এটি শেবাং লাইন অনুসারে) ইনস্টল করা হয়েছিল। যা easy_installচালানো হচ্ছে তা আপনার PATHনা নির্ভর করে PYTHONPATH। আপনি যদি পাইথন ২.৫ উদাহরণে একটি প্যাকেজ ইনস্টল করতে চান তবে আপনার easy_installব্যবহার করতে পাইথন ইন্টারপ্রেটার নির্দিষ্ট করে চালানো উচিত :

/usr/bin/python2.5/python easy_install ...

কড়া কথা বলতে virtualenvএখানে সহায়তা করে না কারণ এটি বেস পাইথনের প্রসঙ্গে তৈরি করা আবশ্যক যা দৌড়ানোর সাথে ঠিক একই সমস্যা easy_install। এর পক্ষে --pythonযুক্তিই virtualenvহচ্ছে। কোনও কারণে easy_installঅ্যানালগাস আর্গুমেন্ট সরবরাহ করে না তাই এটি উপরে প্রদর্শিত হিসাবে নির্দিষ্ট পাইথন দোভাষী দ্বারা চালিত করতে হবে।


এটি এখানে আমার প্রথম উত্তর এবং আমি আশা করি প্রথম নেক্রোম্যান্সার
ব্যাজটিও

খুব ভাল ব্যাখ্যা, ধন্যবাদ! নেক্রোম্যান্সার ব্যাজ ভালভাবে উপার্জন করেছে;)
অ্যালেক্স

2

আমি ফেডোরা 13 ব্যবহার করছি এবং PYTHONPATHসেট করা নেই।

অজগরটির মধ্যে, sys.pathআপনাকে স্ক্রিপ্টগুলি আমদানি করার জন্য ব্যবহৃত পাথগুলির একটি তালিকা দেবে।

আমি easy_installএর গন্তব্য ডিরেক্টরিটি কীভাবে সিদ্ধান্ত নিয়েছি তার সাথে আমি পরিচিত নই তবে আমি নিশ্চিত যে আপনি এটি দিতে পারেন এমন একটি কমান্ড লাইনের যুক্তি উপস্থিত থাকবে।

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

easy_installআপনি যে পাইথন সংস্করণটি ইনস্টল করেছেন তার মধ্যে কোনও স্ক্রিপ্টের বিনটিতে একটি সিমলিংক রয়েছে কিনা তাও পরীক্ষা করুন ।


1

ভার্চুয়ালেনভ এখানে অবশ্যই গডসেন্ড nd

আমার সেটআপে, আমার কাছে পরিবেশের ভেরিয়েবল VIRTUALENV_USE_DISTRIBUTE1 এ সেট আছে, যাতে সেটআপলগুলির পরিবর্তে আরও আধুনিক ডিস্ট্রিবিউট প্যাকেজটি ব্যবহৃত হয়। আমি আমার সিস্টেমে পাইথনের দুটি সংস্করণের জন্য ভার্চুয়াল পরিবেশ তৈরি করেছি:

$ virtualenv -p python2.6 py2
$ virtualenv -p python3.2 py3

এরপরে আমি তিনটি এলিয়াস তৈরি করেছি .bashrc:

alias py2='source $HOME/py2/bin/activate'
alias py3='source $HOME/py3/bin/activate'
alias idle='python -m idlelib.idle'

সুতরাং আমি py2পাইথন ২.6 এর py3একটি ডিফল্ট স্যুইচ করতে এবং পাইথন ৩.২ এর একটি ডিফল্টে স্যুইচ করতে ব্যবহার করতে পারি । প্রবেশ করা idleআইডিএল এর যে কোনও সংস্করণটি চলবে আমি যে ভার্চুয়াল পরিবেশে আছি তার জন্য উপযুক্ত।

এই ভার্চুয়াল পরিবেশের মধ্যে একটিতে প্যাকেজ ইনস্টল করার জন্য কেবল একটি pip installকমান্ড অন্তর্ভুক্ত থাকে ।

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