چیت شیت مدیریت پکیج‌ها در پایتون: pip و conda

فهرست مطالب

“`html

چیت شیت مدیریت پکیج‌ها در پایتون: pip و conda

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

1. مقدمه: pip و conda، دو رویکرد متفاوت

pip ابزار پیش‌فرض مدیریت پکیج برای پایتون است. این ابزار به طور خاص برای نصب و مدیریت پکیج‌های موجود در PyPI (Python Package Index) طراحی شده است. pip به طور پیش‌فرض با پایتون نصب می‌شود یا به راحتی قابل نصب است.

conda، از سوی دیگر، یک سیستم مدیریت پکیج، مدیریت محیط و مدیریت وابستگی با منبع باز است که برای پایتون، R، جاوا و C++ مناسب است. در حالی که pip پکیج‌های پایتون را نصب می‌کند، conda می‌تواند پکیج‌های خارج از اکوسیستم پایتون را نیز مدیریت کند. conda به ویژه برای پروژه‌های علم داده و یادگیری ماشین که به وابستگی‌های غیر پایتونی متکی هستند، مفید است.

2. دستورات کلیدی pip

2.1. نصب پکیج‌ها

برای نصب یک پکیج خاص با استفاده از pip، از دستور زیر استفاده کنید:

pip install package_name

به عنوان مثال، برای نصب کتابخانه NumPy:

pip install numpy

برای نصب یک نسخه خاص از پکیج:

pip install package_name==version_number

مثال:

pip install numpy==1.23.0

برای نصب پکیج‌ها از یک فایل requirements.txt:

pip install -r requirements.txt

2.2. به‌روزرسانی پکیج‌ها

برای به‌روزرسانی یک پکیج به آخرین نسخه:

pip install --upgrade package_name

مثال:

pip install --upgrade numpy

برای به‌روزرسانی pip:

python -m pip install --upgrade pip

2.3. حذف پکیج‌ها

برای حذف یک پکیج:

pip uninstall package_name

مثال:

pip uninstall numpy

2.4. لیست پکیج‌های نصب شده

برای مشاهده لیست پکیج‌های نصب شده:

pip list

یا:

pip freeze

دستور pip freeze همچنین می‌تواند برای ایجاد یک فایل requirements.txt استفاده شود:

pip freeze > requirements.txt

2.5. جستجوی پکیج‌ها

برای جستجوی پکیج‌ها در PyPI:

pip search search_term

مثال:

pip search pandas

2.6. نمایش اطلاعات پکیج

برای نمایش اطلاعات یک پکیج خاص:

pip show package_name

مثال:

pip show numpy

3. دستورات کلیدی conda

3.1. ایجاد محیط‌های مجازی

یکی از ویژگی‌های قدرتمند conda، قابلیت ایجاد محیط‌های مجازی ایزوله است. برای ایجاد یک محیط جدید:

conda create --name environment_name

به عنوان مثال، برای ایجاد یک محیط به نام “myenv”:

conda create --name myenv

برای ایجاد یک محیط با یک نسخه خاص از پایتون:

conda create --name myenv python=3.9

برای ایجاد یک محیط و نصب پکیج‌ها به طور همزمان:

conda create --name myenv numpy pandas

3.2. فعال‌سازی و غیرفعال‌سازی محیط‌ها

برای فعال‌سازی یک محیط:

conda activate environment_name

مثال:

conda activate myenv

برای غیرفعال‌سازی محیط فعال:

conda deactivate

3.3. نصب پکیج‌ها

برای نصب یک پکیج در محیط فعال:

conda install package_name

مثال:

conda install numpy

برای نصب یک نسخه خاص از پکیج:

conda install package_name=version_number

مثال:

conda install numpy=1.23.0

برای نصب پکیج‌ها از یک فایل environment.yml:

conda env create -f environment.yml

3.4. به‌روزرسانی پکیج‌ها

برای به‌روزرسانی یک پکیج:

conda update package_name

مثال:

conda update numpy

برای به‌روزرسانی تمام پکیج‌ها در محیط:

conda update --all

3.5. حذف پکیج‌ها

برای حذف یک پکیج:

conda remove package_name

مثال:

conda remove numpy

3.6. لیست پکیج‌های نصب شده

برای مشاهده لیست پکیج‌های نصب شده در محیط فعال:

conda list

3.7. لیست محیط‌ها

برای مشاهده لیست تمام محیط‌های ایجاد شده:

conda env list

3.8. حذف محیط‌ها

برای حذف یک محیط:

conda env remove --name environment_name

مثال:

conda env remove --name myenv

3.9. ایجاد فایل environment.yml

برای ایجاد یک فایل environment.yml از محیط فعال:

conda env export > environment.yml

4. تفاوت‌های کلیدی pip و conda

  • مدیریت وابستگی‌ها: pip به طور خاص برای پکیج‌های پایتون طراحی شده است و وابستگی‌های غیر پایتونی را مدیریت نمی‌کند. conda می‌تواند پکیج‌های پایتون و غیر پایتون را مدیریت کند، که برای پروژه‌های علم داده که به کتابخانه‌هایی مانند C++ یا R متکی هستند، ایده‌آل است.
  • محیط‌های مجازی: هر دو ابزار از محیط‌های مجازی پشتیبانی می‌کنند. با این حال، conda به طور کلی در مدیریت محیط‌ها قوی‌تر است و امکان ایزوله‌سازی بهتری را فراهم می‌کند.
  • حل تعارض وابستگی‌ها: conda در حل تعارض‌های وابستگی‌ها بهتر از pip عمل می‌کند. conda از یک حل‌کننده وابستگی قوی‌تر استفاده می‌کند که می‌تواند تعارض‌ها را به طور موثرتری مدیریت کند.
  • منابع پکیج: pip به طور پیش‌فرض از PyPI برای دانلود پکیج‌ها استفاده می‌کند. conda از کانال‌های مختلفی از جمله کانال پیش‌فرض Anaconda و کانال‌های سفارشی پشتیبانی می‌کند.

5. بهترین روش‌ها برای مدیریت پکیج‌ها

  • استفاده از محیط‌های مجازی: همواره پروژه‌های خود را در محیط‌های مجازی ایزوله کنید. این کار از تداخل وابستگی‌ها بین پروژه‌های مختلف جلوگیری می‌کند.
  • استفاده از فایل‌های requirements.txt یا environment.yml: برای ثبت و به اشتراک‌گذاری وابستگی‌های پروژه خود، از فایل‌های requirements.txt (برای pip) یا environment.yml (برای conda) استفاده کنید.
  • نسخه‌بندی وابستگی‌ها: هنگام نصب پکیج‌ها، نسخه مورد نظر را مشخص کنید. این کار از بروز مشکلات ناشی از به‌روزرسانی‌های ناسازگار جلوگیری می‌کند.
  • به‌روزرسانی منظم پکیج‌ها: پکیج‌های خود را به طور منظم به‌روزرسانی کنید تا از آخرین ویژگی‌ها، بهبودهای امنیتی و رفع اشکالات بهره‌مند شوید.
  • انتخاب ابزار مناسب: بر اساس نیازهای پروژه خود، ابزار مناسب را انتخاب کنید. اگر پروژه شما فقط به پکیج‌های پایتون متکی است، pip ممکن است کافی باشد. اگر پروژه شما به وابستگی‌های غیر پایتونی متکی است یا نیاز به مدیریت دقیق‌تر محیط‌ها دارید، conda گزینه بهتری است.

6. مثال‌های کاربردی

6.1. پروژه علم داده با conda

فرض کنید یک پروژه علم داده دارید که از NumPy، Pandas، Scikit-learn و Matplotlib استفاده می‌کند. همچنین، به کتابخانه غیر پایتونی R نیز نیاز دارید.

  1. ایجاد محیط conda:
  2. conda create --name data_science python=3.9
  3. فعال‌سازی محیط:
  4. conda activate data_science
  5. نصب پکیج‌های پایتون:
  6. conda install numpy pandas scikit-learn matplotlib
  7. نصب R:
  8. conda install -c conda-forge r-base
  9. ایجاد فایل environment.yml:
  10. conda env export > environment.yml

6.2. پروژه وب با pip

فرض کنید یک پروژه وب با استفاده از Flask و SQLAlchemy دارید.

  1. ایجاد محیط مجازی با venv:
  2. python -m venv venv
  3. فعال‌سازی محیط:
    • در ویندوز:
    • venv\Scripts\activate
    • در macOS و Linux:
    • source venv/bin/activate
  4. نصب پکیج‌ها با pip:
  5. pip install flask sqlalchemy
  6. ایجاد فایل requirements.txt:
  7. pip freeze > requirements.txt

7. نکات پیشرفته

7.1. استفاده از pipenv

Pipenv یک ابزار مدیریت وابستگی است که هدف آن ساده‌سازی فرایند مدیریت پکیج‌ها در پایتون است. Pipenv از یک فایل Pipfile و Pipfile.lock برای مدیریت وابستگی‌ها استفاده می‌کند و ویژگی‌هایی مانند:

  • حل وابستگی‌های قطعی: با استفاده از فایل Pipfile.lock، Pipenv اطمینان می‌دهد که وابستگی‌ها در تمام محیط‌ها به طور یکسان نصب شوند.
  • مدیریت محیط‌های مجازی: Pipenv به طور خودکار محیط‌های مجازی را ایجاد و مدیریت می‌کند.
  • امنیت: Pipenv به طور خودکار آسیب‌پذیری‌های امنیتی را در وابستگی‌ها بررسی می‌کند.

برای نصب Pipenv:

pip install pipenv

برای ایجاد یک پروژه جدید با Pipenv:

pipenv install

برای نصب پکیج‌ها:

pipenv install package_name

برای فعال‌سازی محیط:

pipenv shell

7.2. استفاده از کانال‌های conda

conda از کانال‌ها برای جستجوی پکیج‌ها استفاده می‌کند. به طور پیش‌فرض، conda از کانال Anaconda استفاده می‌کند. با این حال، می‌توانید کانال‌های دیگری را نیز اضافه کنید:

conda config --add channels channel_name

به عنوان مثال، برای اضافه کردن کانال conda-forge:

conda config --add channels conda-forge

کانال conda-forge یک کانال جامعه‌محور است که پکیج‌های بسیاری را ارائه می‌دهد که در کانال پیش‌فرض Anaconda موجود نیستند.

7.3. مدیریت کش pip

pip پکیج‌های دانلود شده را در یک کش محلی ذخیره می‌کند. این کار باعث می‌شود نصب پکیج‌ها در آینده سریع‌تر انجام شود. برای پاک کردن کش pip:

pip cache purge

8. جمع‌بندی

مدیریت پکیج‌ها در پایتون یک جنبه حیاتی از توسعه نرم‌افزار است. pip و conda دو ابزار قدرتمند هستند که به شما کمک می‌کنند وابستگی‌های پروژه‌های خود را به طور موثر مدیریت کنید. با درک تفاوت‌ها و بهترین روش‌های استفاده از این دو ابزار، می‌توانید پروژه‌های خود را به طور سازمان‌یافته و قابل اعتماد توسعه دهید.

امیدواریم این چیت شیت جامع به شما در مدیریت پکیج‌ها در پایتون کمک کند. همواره به یاد داشته باشید که استفاده از محیط‌های مجازی، ثبت وابستگی‌ها و به‌روزرسانی منظم پکیج‌ها از بهترین روش‌ها برای توسعه نرم‌افزار پایدار و قابل نگهداری هستند.


“`

“تسلط به برنامه‌نویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT”

قیمت اصلی 2.290.000 ریال بود.قیمت فعلی 1.590.000 ریال است.

"تسلط به برنامه‌نویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT"

"با شرکت در این دوره جامع و کاربردی، به راحتی مهارت‌های برنامه‌نویسی پایتون را از سطح مبتدی تا پیشرفته با کمک هوش مصنوعی ChatGPT بیاموزید. این دوره، با بیش از 6 ساعت محتوای آموزشی، شما را قادر می‌سازد تا به سرعت الگوریتم‌های پیچیده را درک کرده و اپلیکیشن‌های هوشمند ایجاد کنید. مناسب برای تمامی سطوح با زیرنویس فارسی حرفه‌ای و امکان دانلود و تماشای آنلاین."

ویژگی‌های کلیدی:

بدون نیاز به تجربه قبلی برنامه‌نویسی

زیرنویس فارسی با ترجمه حرفه‌ای

۳۰ ٪ تخفیف ویژه برای دانشجویان و دانش آموزان