محیط مجازی پایتون را دیگر دستی نمی‌سازم

python۱۱ اردیبهشت ۱۴۰۴۷ دقیقه مطالعه

برای مدت طولانی جریان کارم این بود: python -m venv .venv، بعد source، بعد pip install. کار می‌کرد، ولی هر بار یادم می‌رفت محیط را فعال کنم و وابستگی‌ها بین پروژه‌ها قاطی می‌شد. این یادداشت همان روالی است که الان دارم و دیگر اذیتم نمی‌کند.

روش پایه که هنوز هم خوب است

اگر چیز اضافه‌ای نمی‌خواهی، همان venv داخلی پایتون کاملاً کافی است:

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

یک نکته که دیر یاد گرفتم: وابستگی‌ها را با نسخه‌ی دقیق قفل کن تا روی ماشین دیگر همان چیزی نصب شود که انتظار داری:

pip freeze > requirements.txt

مشکلی که داشتم

روی یک ماشین چند پروژه داشتم که هرکدام نسخه‌ی متفاوتی از یک کتابخانه می‌خواستند. تا وقتی هر پروژه .venv خودش را داشت همه‌چیز خوب بود، ولی فعال‌کردن دستی همیشه یادم می‌رفت و گاهی روی محیط اشتباه نصب می‌کردم.

چیزی که الان استفاده می‌کنم

این روزها از ابزارهایی استفاده می‌کنم که محیط را به‌صورت خودکار به پروژه گره می‌زنند، یعنی همین که وارد پوشه می‌شوم محیط درست انتخاب می‌شود. جزئیات ابزار مهم نیست؛ چیزی که عوض شد این عادت بود:

قانون شخصی‌ام شد: هیچ‌وقت با pip چیزی را به پایتونِ سیستم نصب نکن. همیشه داخل یک محیط جدا.

نتیجه این بود که آن کلاس کامل از خطاهای «روی ماشین من کار می‌کرد» تقریباً از بین رفت.


→ بازگشت به یادداشت‌ها