স্টিফেনের প্রস্তাবটি একটি দুর্দান্ত ধারণা, তবে দুর্ভাগ্যক্রমে আপনি যদি আপনার ফাইলটিতে সরাসরি প্রয়োজনীয়তা অন্তর্ভুক্ত করেন তবে এটি কার্যকর হয় না, যা আমার কাছে পরিষ্কার মনে হয়।
সমস্ত নির্ভরতা নিজেই distribute
ভেঙে দেওয়া এমনকি সমাপ্ত সহ আনইনস্টল করা হবে pip
।
ভার্চুয়াল পরিবেশটি ট্র্যাক করার সময় একটি পরিষ্কার প্রয়োজনীয় ফাইল বজায় রাখা
এখানে আমি কীভাবে আমার ভার্চুয়াল পরিবেশটিকে ভার্সন-ট্র্যাক করার চেষ্টা করব। আমি requirements.txt
কেবলমাত্র সরাসরি প্রয়োজনীয়তা সহ ন্যূনতম বজায় রাখার চেষ্টা করি এবং আমি নিশ্চিত নই এমন সংস্করণে বাধাও উল্লেখ করি না।
তবে এর সাথে আমি সংস্করণ ট্র্যাকিং (গিট বলুন) অন্তর্ভুক্ত করি, একটি venv.pip
ফাইলের মধ্যে আমার ভার্চুয়ালেনভের আসল অবস্থা ।
এখানে একটি নমুনা কর্মপ্রবাহ:
সংস্করণ ট্র্যাকিং সহ ভার্চুয়ালেনভ ওয়ার্কস্পেস সেটআপ করুন:
mkdir /tmp/pip_uninstalling
cd /tmp/pip_uninstalling
virtualenv venv
. venv/bin/activate
সংস্করণ ট্র্যাকিং সিস্টেম আরম্ভ করুন:
git init
echo venv > .gitignore
pip freeze > venv.pip
git add .gitignore venv.pip
git commit -m "Python project with venv"
নির্ভরতা সহ একটি প্যাকেজ ইনস্টল করুন, এটি প্রয়োজনীয় ফাইলটিতে অন্তর্ভুক্ত করুন:
echo flask > requirements.txt
pip install -r requirements.txt
pip freeze > venv.pip
এখন আপনার অ্যাপ তৈরি করা শুরু করুন, তারপরে কমিট করুন এবং একটি নতুন শাখা শুরু করুন:
vim myapp.py
git commit -am "Simple flask application"
git checkout -b "experiments"
অতিরিক্ত প্যাকেজ ইনস্টল করুন:
echo flask-script >> requirements.txt
pip install -r requirements.txt
pip freeze > venv.pip
... এটি নিয়ে খেলুন এবং তারপরে আগের সংস্করণে ফিরে আসুন
vim manage.py
git commit -am "Playing with flask-script"
git checkout master
এখন বহির্মুখী প্যাকেজ আনইনস্টল করুন:
pip freeze | grep -v -f venv.pip | xargs pip uninstall -y
আমি মনে করি প্রক্রিয়াটি গিট হুক দিয়ে স্বয়ংক্রিয় করা যেতে পারে, তবে আসুন বিষয়টির দিকে যাওয়া উচিত নয়।
অবশ্যই, কিছু প্যাকেজ ক্যাচিং সিস্টেম বা পিপ 2 পিআই এর মতো স্থানীয় সংগ্রহস্থল ব্যবহার করার পরে তা বোঝা যায়