با این ابزار محیط مجازی عالی از جهنم وابستگی اجتناب کنید.
اشکالات وابستگی می توانند بدترین کابوس یک توسعه دهنده باشند. شما می توانید زمان زیادی را برای ارتقا و کاهش وابستگی ها در تلاشی بیهوده برای حل مشکلات صرف کنید.
Pipenv یک مدیر وابستگی موثر برای پروژه های پایتون است. وابستگی های محیط مجازی را در توسعه و تولید تنظیم و مدیریت می کند.
Pipenv اضافه کردن و حذف بسته های وابستگی را کنترل می کند که تضادها را کاهش می دهد. همچنین Pip را با افزایش اقدامات امنیتی، گزینههای نسخهسازی و بهروزرسانیهای بسته بهبود میبخشد.
چرا از Pipenv بیش از Virtualenv استفاده کنیم؟
Virtualenv رایج ترین ابزار محیط مجازی پایتون است و جایگزین های دیگری نیز وجود دارد. از مزایای استفاده از Pipenv به جای این ابزارها می توان به موارد زیر اشاره کرد:
- شما می توانید بسته ها را بدون نسخه نصب کنید. عدم نسخهسازی تضاد را هنگام کار با نسخههای مختلف وابستگی کاهش میدهد.
- Pipenv Pip و Virtualvenv را ترکیب می کند. شما دیگر از آنها به طور جداگانه استفاده نمی کنید.
- Pipenv فایل requires.txt را حذف می کند. Pipenv Pipfile را برای ردیابی وابستگی ها و Pipfile.lock را برای ساخت برنامه ایجاد می کند.
- از راه اندازی سریع و آسان محیط های مجازی پشتیبانی می کند.
Pipenv بیش از فایل های اضافی را به Pip اضافه می کند. در بخش بعدی، با برخی از ویژگی های اضافی که PIpenv را به یک بسته جامع تبدیل می کند، آشنا شوید.
بسته های نصب شده را ارتقا دهید
ممکن است بخواهید بسته های نصب شده را در صورت انتشار نسخه های جدید ارتقا دهید. نسخه های به روز شده احتمالاً ویژگی های جدیدی برای بهینه سازی برنامه شما خواهند داشت.
برای پیدا کردن بهروزرسانیهای جدید وابستگیها، دستور زیر را اجرا کنید:
pipenv update --outdated
اگر بهروزرسانیهای جدید در دسترس هستند، ممکن است لازم باشد بستهها را ارتقا دهید. دو راه برای ارتقاء بسته ها وجود دارد. شما می توانید همه چیز را ارتقا دهید یا می توانید انتخاب کنید که فقط بسته های خاصی را ارتقا دهید.
برای ارتقاء همه چیز، دستور به روز رسانی زیر را اجرا کنید:
pipenv update
برای ارتقاء فقط بسته های خاص، کدی را که در زیر نشان داده شده است اجرا کنید:
pipenv update <name of package> # upgrades a specified package
وارد کردن بسته ها از require.txt
اگر Pipenv در همان پروژه نصب شود، محتوای یک فایل requires.txt را وارد میکند. هنگامی که pipenv install را اجرا می کنید، یک Pipfile را وارد کرده و ایجاد می کند.
Pipenv همچنین به شما این امکان را می دهد که یک فایل requires.txt را وارد کنید. همانطور که در تصویر نشان داده شده است، باید هنگام نصب، مکان فایل requires.txt را مشخص کنید:
pipenv install -r path/to/requirements.txt # imports a requirements file.
فایل requires.txt احتمالاً با بسته هایی با شماره نسخه همراه خواهد بود. می توانید بسته های جدید را حذف و نصب کنید. اگر قصد دارید بسته های نسخه شده را نگه دارید، دستور زیر را اجرا کنید:
pipenv lock --keep-outdated
Pipenv ویژگی های امنیتی را بهبود بخشید
Pipfile.lock در Pipenv بهبودهای امنیتی جدید در Pip را بهینه می کند. Pipfile.lock هش sha256 هر بسته دانلود شده را تولید می کند.
Pipenv تضمین میکند که فایلهای مضر را زمانی که در یک شبکه در معرض خطر هستید دانلود نمیکنید.
مشخص کردن نسخه های پایتون
با Pipenv، می توانید یک نسخه ترجیحی از Python را برای پروژه خود انتخاب کنید. ممکن است بخواهید مشخص کنید که چندین نسخه از پایتون را نصب کرده اید یا خیر.
برای استفاده از Python3
pipenv --python 3 # Pipenv will use any version 3 installed
pipenv --python 3.8 # Pipenv will use version 3.8
وقتی یک نسخه پایتون را مشخص می کنید، Pipenv سیستم را برای آن نسخه پایتون اسکن می کند. اگر مشخص نکنید، Pipenv آخرین نسخه پایتون نصب شده روی دستگاه شما را انتخاب می کند. از اسناد رسمی Pipenv بیشتر بیاموزید.
نصب و استفاده از Pipenv در یک مثال عملی
در مرحله بعد اقدام به نصب کنید و نحوه استفاده از Pipenv را به صورت عملی یاد بگیرید.
1. Pipenv را نصب کنید
قبل از نصب Pipenv، ابتدا باید تمام وابستگی های نصب شده را به روز کنید. با دستور زیر آپدیت ها را اجرا کنید:
sudo apt-get update
سپس Pipenv را با استفاده از دستور زیر نصب کنید:
pip3 install pipenv
اگر هیچ خطایی وجود نداشته باشد، به این معنی است که نصب با موفقیت انجام شده است. برای تایید نصب، نسخه Pipenv را با استفاده از دستور زیر بررسی کنید:
pipenv --version #output pipenv,version 2022.8.30
اگر قبلا از Pip استفاده کرده اید، Pipenv با نحو Pip سازگار است. به عنوان مثال، اگر می خواهید بسته ای را نصب کنید، می توانید از pipenv install به جای pip install استفاده کنید.
2. محیط مجازی ایجاد کنید
شما باید محیط مجازی پروژه خود را در پوشه پروژه فعال کنید. Pipenv وابستگی ها را در هر پروژه مدیریت می کند.
در خط فرمان، پوشه پروژه خود را با دستور زیر پیمایش کنید.
cd myproject
بعد، پوشه را در یک ویرایشگر کد باز کنید. سپس با دستور زیر Dependencies Pipenv را نصب کنید:
pipenv install requests
نصب موفقیت آمیز مانند شکل زیر خواهد بود:
وابستگی های Pipenv یک محیط مجازی برای پروژه ایجاد می کنند. در پوشه پروژه، متوجه خواهید شد که Pipenv Pipfiles را ساخته است. در مرحله بعد محیط مجازی را فعال کنید.
3. محیط مجازی را فعال کنید
شما باید محیط مجازی که برنامه در آن اجرا می شود را فعال کنید. دستور pipenv shell را اجرا کنید تا وارد محیط مجازی Pipenv شوید.
pipenv shell
پس از اجرای پوسته pipenv به تغییرات خط فرمان توجه کنید. یک محیط مجازی، به نام پوشه، در سمت چپ در پرانتز ظاهر می شود.
(installpipenv) sandra@sandra-Lenovo:~/MUOfiles/installpipenv$
محیط Pipenv شما اکنون فعال است!
اکنون می توانید نصب بسته ها و وابستگی های دلخواه خود را شروع کنید. بیایید کتابخانه جنگو را نصب کنیم. برای نصب جنگو دستور زیر را روی ترمینال اجرا کنید.
pipenv install django
یک نصب موفق همانطور که در تصویر زیر نشان داده شده است.
وقتی روی Pipfile کلیک می کنید، کتابخانه جنگو را می بینید که بدون شماره نسخه نصب شده است.
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
requests = "*"
django = "*"
[dev-packages]
[requires]
python_version = "3.10"
به این ترتیب Pipenv تمام وابستگی های شما را مدیریت می کند.
مشخص کردن نسخه های بسته
اگرچه Pipenv بستههای بدون نسخه را نصب میکند، اما میتوانید نسخه ترجیحی را نصب کنید. به عنوان مثال، اگر می خواهید جنگو 4.1.1 را نصب کنید، می توانید این کار را به صورت زیر انجام دهید:
pipenv install django==4.1.1 # installs Django 4.1.1
با این حال، این نسخه را قفل می کند. برای یک رویکرد انعطافپذیرتر، از عملگر ~= استفاده کنید:
pipenv install django~=4.1.1 # installs Django 4.1.1, 4.1.2 if available, but not 4.2.0
شما می توانید هر نسخه ای را که برابر یا بزرگتر از یک نسخه خاص است با استفاده از >=:
pipenv install django>=3.1.1 # installs Django 3.1.1 and greater
Pipenv بهترین برای مدیریت بسته است
Pipenv ابزاری نوآورانه برای نصب و مدیریت وابستگی های پروژه است. توانایی آن در مدیریت وابستگیهای بدون نسخه از تضاد بین نسخههای مختلف جلوگیری میکند.
Pipenv قدرت Pip و Venv را در یک فرمان ترکیب می کند. Pipfiles جایگزین فایل requires.txt می شود که وابستگی ها را در نسخه های قدیمی پایتون مدیریت می کند. اقدامات امنیتی آن از برنامه شما در برابر دانلودهای مضر محافظت می کند.
اکنون می توانید از Pipenv برای بهینه سازی و بهبود تجربه توسعه خود استفاده کنید. با به روز رسانی های جدید، Pipenv همچنان یک ابزار فوق العاده برای مدیریت پروژه های پایتون است.