পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজে কাজ করার সময় মাঝে মধ্যে আমাদেরকে পাইথনের বিভিন্ন ভার্সনে সুইচ(switch) করতে হয়। এই কাজটি করার জন্য pyenv প্যাকেজটি অনেক বেশি জনপ্রিয়।

আবার অনেক সময় বিভিন্ন প্রজেক্ট নিয়ে কাজ করার জন্য ভার্চুয়াল ইনভার্নমেন্ট তৈরি করে কাজ করতে পারি। সেই ভার্চুয়াল ইনভার্নমেন্টে আমাদের পছন্দের পাইথন প্যাকেজ ইন্সটল করতে পারি যা মূল অপারেটিং সিস্টেমের প্যাকেজের সাথে কনফ্লিক্ট করে না। এই ধরনের পরিবেশ তৈরি করার জন্য আমরা সাধারনত virtualenv প্যাকেজটি ব্যবহার করি।

তাহলে চলুন দেখে নেয়া যাক কিভাবে pyenv এবং virtualenv ইন্সটল ও ব্যবহার করা যায়।

pyenv ইন্সটল করা:

উবুন্টুতে ডিপেন্ডেন্সিগুলো ইন্সটল করে নিন।

sudo apt-get install -y git make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils

পদ্ধতি-১:

টার্মিনালে নিচের কমান্ডটি রান করুন

curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash

পদ্ধতি-২:

আপনি চাইলে pip দিয়েও pyenv ইন্সটল করতে পারেন।

প্রথমে get-pip.py ডাউনলোড করে নিন এবং টার্মিনালে নিচের কমান্ডটি দিয়ে pip ইন্সটল করে নিন।

$ python3 get-pip.py

$ pip install --egg pyenv

ব্যস, আপনার pyenv সেটআপ সম্পন্ন হয়েছে। এখন আপনি চাইলেই তৈরিকৃত pyenv এর মধ্যে যেকোন পাইথন ভার্সন ইন্সটল করে নিতে পারেন। ধরুন আমরা পাইথন ল্যাঙ্গুয়েজের 3.5.2 ভার্সনটি ইন্সটল করবো। সেজন্য আপনাকে কমান্ড দিতে হবে -

$ pyenv install 3.6.1

এভাবে pyenv install এর পর আপনার যে ভার্সনটি ইন্সটল করা দরকার তার ভার্সন লিখে দিলেই pyenv সেই ভার্সনটি ডাউনলোড করে ইন্সটল করে নিবে।

আপনার ইনভার্নমেন্টে কোন কোন ভার্সন ইন্সটল করা আছে সে তালিকা দেখার জন্য নিচের কমান্ডটি লিখতে হবে।

$ pyenv versions

এখন আপনার যে ভার্সনটি দরকার সেটি ব্যবহার করার জন্য টার্মিনালে কমান্ড দিতে হবে -

$ pyenv global <version>

এখানে < version > এর জায়গায় আপনি pyenv এ ইন্সটল করা যে পাইথন ভার্সনটি ব্যবহার করতে চান সেটি লিখে দিতে হবে।

pyenv এর সাথে virtualenv এর ব্যবহার:

virtualenv ইন্সটল করা:

pyenv এর সাথে virtualenv ব্যবহার করার জন্য আমাদেরকে প্রথমে pyenv এর একটি প্লাগইন ডাউনলোড করে নিতে হবে। প্লাগইনটি ডাউনলোড করার জন্য টার্মিনালে লিখতে হবে -

$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

এরপর এই কমান্ডটি দিন -

$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc

পরিবর্তনগুলো কাজ করার জন্য নিচের কমান্ডটি দিন -

$ exec "$SHELL"

virtualenv এর ব্যবহার:

এখন আপনি যদি একটি ভার্চুয়াল ইনভার্নমেন্ট তৈরি করতে চান তাহলে আপনাকে টার্মিনালে লিখতে হবে -

$ pyenv virtualenv <python_version> <name>

এখানে < name > এর জায়গায় ভার্চুয়াল ইনভার্নমেন্ট এর জন্য একটি নাম দিন।

ভার্চুয়াল ইনভার্নমেন্টের তালিকা দেখার জন্য -

$ pyenv virtualenvs

ভার্চুয়াল ইনভার্নমেন্টটি সচল করার জন্য কমান্ড হবে -

$ pyenv activate <name>

এখানে < name > এর জায়গায় আপনার তৈরিকৃত যেকোন একটি ভার্চুয়াল ইনভার্নমেন্ট এর নাম দিতে হবে।

আর বন্ধ করার জন্য -

$ pyenv deactivate

সবচেয়ে মজার বিষয় হচ্ছে, আপনি চাইলে আপনার প্রজেক্টের জন্য একটি নির্দিষ্ট পাইথন ভার্সন অথবা ভার্চুয়াল ইনভার্নমেন্ট নির্ধারন করে দিতে পারবেন। যার ফলে আপনাকে প্রত্যেকটা প্রজেক্টের জন্য আলাদাভাবে বারবার ভার্সন অথবা ইনভার্নমেন্ট activate করতে হবেনা।

এই কাজটি করার জন্য টার্মিনাল দিয়ে আপনার প্রজেক্টের ডিরেক্টরিতে প্রবেশ করুন। এরপর নিচের কমান্ডের মাধ্যমে ভার্চুয়াল ইনভার্নমেন্ট নির্ধারন করে দিন।

$ pyenv local <virtualenv or version>

এরপর থেকে আপনি যখনই টার্মিনাল দিয়ে আপনার প্রজেক্ট ফোল্ডারে ঢুকবেন সাথে সাথে আপনার কাঙ্খিত পাইথন ভার্সন অথবা ভার্চুয়াল ইনভার্নমেন্ট চালু হয়ে যাবে। :)

আজ এ পর্যন্তই। :)