اپنے اگلے پروجیکٹ کے لیے صحیح ازگر ماحولیاتی ٹول کا انتخاب کرنا

اپنے اگلے پروجیکٹ کے لیے صحیح ازگر ماحولیاتی ٹول کا انتخاب کرنا

ماخذ نوڈ: 1992171

تعارف

ماحول کو ترتیب دینا پہلا قدم ہے۔ ازگر ترقی، اور یہ بہت اہم ہے کیونکہ پیکج کا انتظام Python کے ساتھ چیلنجنگ ہو سکتا ہے۔ اور Python بھی ایک لچکدار زبان ہے جسے سائنسی پروگرامنگ، DevOps، آٹومیشن، اور ویب ڈویلپمنٹ سمیت مختلف ڈومینز میں لاگو کیا جا سکتا ہے۔ فریق ثالث کی ایپلی کیشنز کی طوالت اور وسعت کو دیکھتے ہوئے، آپ کا عالمی ماحول کچھ ہی وقت میں ایک پھولا ہوا گندگی بن جائے گا۔

ڈویلپر کمیونٹی میں یہ ایک معروف حقیقت ہے کہ Python پیکجوں کے انتظام میں بری ہے۔ اگر اس کا خلاصہ کرنے کے لیے کوئی میم ہے، تو یہ ہوگا۔

ازگر کا ماحول
ازگر کا ماحول

تو، اس کا حل کیا ہے؟ ٹھیک ہے، کسی بھی انحصار کے انتظام سے متعلق خرابیوں سے بچنے کے لیے، ورچوئل ماحول استعمال کیا جاتا ہے۔ اگر آپ ازگر میں کوئی ترقی کر رہے ہیں تو ورچوئل ماحول ضروری ہے۔

بہت سے مجازی ماحول کے اوزار ہیں، ہر ایک منفرد خصوصیات کے ساتھ. اس آرٹیکل میں، ہم Python کے کچھ مقبول ترین ماحول، ان کی منفرد خصوصیات اور خامیوں پر تبادلہ خیال کریں گے، اور یہ بھی سیکھیں گے کہ ان ٹولز کا استعمال کرتے ہوئے ورچوئل ماحول کیسے ترتیب دیا جائے۔

آپ کی ترجیح پر منحصر ہے، آپ اپنے ترقیاتی ماحول کو ترتیب دینے کے لیے ان میں سے کوئی بھی ٹول استعمال کر سکتے ہیں۔ لیکن اس سے پہلے، آئیے ورچوئل ماحول کے استعمال کے کچھ فوائد دیکھتے ہیں۔

اس مضمون کے ایک حصے کے طور پر شائع کیا گیا تھا۔ ڈیٹا سائنس بلاگتھون۔

کی میز کے مندرجات

مجازی ماحول کیوں استعمال کریں؟

ازگر ورچوئل ماحولیات

ورچوئل ماحول استعمال کرنے کے کئی فوائد ہیں:

  • انحصار کا انتظام: کسی بھی چیز کی تعمیر کے دوران پیکجوں کا انتظام کرنا مشکل ہو سکتا ہے۔ دیو ماحول پیکجوں کا نظم کرنا آسان بنا سکتا ہے۔ ہم واضح طور پر لائبریریوں کے ورژن کا ذکر کر سکتے ہیں، اور دیو ماحول اس بات کو یقینی بنائے گا کہ انحصار انسٹال اور ترتیب دیا گیا ہے۔
  • تولیدی صلاحیت: ورچوئل ماحول متعدد مشینوں پر ایک جیسے ترقیاتی ماحول کو دوبارہ بنانا آسان بناتا ہے۔ یہ اس بات کو یقینی بناتا ہے کہ پروجیکٹ کے تمام ساتھی یکساں انحصار اور ٹولز استعمال کریں۔ اس طرح، کوڈ توڑنے اور کیڑے کے خطرات کو کم کرنا۔
  • ٹھیک کرنا: ماحول کو الگ تھلگ کرکے، آپ آسانی سے شناخت کر سکتے ہیں کہ کون سے پیکجز یا کنفیگریشن مسائل کا باعث بن رہے ہیں اور سسٹم کے دیگر حصوں کو متاثر کیے بغیر ان کا ازالہ کر سکتے ہیں۔
  • سلامتی: دیو ماحول کو الگ تھلگ کرنے سے اس بات کو یقینی بنایا جائے گا کہ کوئی بھی حفاظتی خطرہ سسٹم کے دوسرے حصوں کو متاثر نہیں کر رہا ہے۔
  • تنہائی: آپ کا کوڈ عالمی ماحول سے الگ تھلگ ہے۔ آپ جو بھی پیکجز انسٹال کریں گے وہ ورچوئل ماحول کے اندر ہی رہیں گے۔ اس طرح، آپ کے عالمی Python ماحول کو آلودہ نہیں کرنا۔ لینکس اور میک ڈیفالٹ ازگر کی تنصیب اور متعلقہ پیکجوں کے ساتھ آتے ہیں۔ پیکیجز کو براہ راست انسٹال کرنے کے نتیجے میں مسائل پیدا ہوسکتے ہیں جن سے آپ نمٹنا نہیں چاہتے ہیں۔ لہذا، مختلف تنصیبات کو الگ تھلگ کرنے کے لیے ورچوئل انحصار کا استعمال کرنا بہت ضروری ہے۔

مجموعی طور پر سافٹ ویئر ڈویلپمنٹ کے لیے ایک مستقل، مستحکم اور محفوظ جگہ بنانے کے لیے ورچوئل ماحول کا استعمال کرنا بہت ضروری ہے۔

Python میں ورچوئل ماحول کے انتظام کے لیے بہت سارے ٹولز موجود ہیں۔ اس آرٹیکل میں، ہم کچھ وسیع پیمانے پر استعمال ہونے والے ورچوئل ماحول کے ٹولز پر بات کریں گے، جیسے،

  1. Python venv
  2. Pipenv
  3. پیینیو
  4. شاعری

Venv Python ماحولیات

Python venv وہاں کا سب سے مشہور ورچوئل انوائرمنٹ ٹول ہے۔ یہ Python3 انسٹالیشن کے ساتھ آتا ہے۔ لہذا، اگر آپ Python3 استعمال کر رہے ہیں، تو آپ کو کچھ بھی انسٹال کرنے کی ضرورت نہیں ہے۔ Venv ہلکا پھلکا ورچوئل ماحول بنانے میں مدد کرتا ہے۔ Venv ماحول کی تخلیق اور انتظام کو آسان بناتا ہے۔

ایک مجازی ماحول کی قسم بنانے کے لیے،

python -m venv <env name>

ماحول کو چالو کریں۔

source <path to env folder>/bin/activate

ایک بار ایکٹیویٹ ہونے کے بعد، آپ پائپ کا استعمال کرتے ہوئے کوئی بھی پیکیج انسٹال کر سکتے ہیں۔ انسٹال شدہ پیکجز اور ان کے ورژن کی قسم دیکھنے کے لیے،

pip freeze

اسے ٹیکسٹ فائل کی قسم کے طور پر محفوظ کریں،

pip freeze > requirements.txt

ماحول کو بند کرنے کے لیے، deactivate کمانڈ ٹائپ کریں۔

پیینیو

ایسے اوقات ہوتے ہیں جب آپ کو متعدد کی ضرورت ہوتی ہے۔ ازگر کی تنصیبات آپ کے سسٹم میں. مثال کے طور پر، جب آپ کو یہ جانچنے کی ضرورت ہو کہ آیا کوئی خصوصیت Python کے مختلف ورژن میں کام کرتی ہے۔ لیکن ازگر کے متعدد ورژن انسٹال کرنے سے آپ کا موجودہ کوڈ ٹوٹ سکتا ہے، جو کوئی نہیں چاہتا۔ بہترین حل یہ ہے کہ Pyenv جیسے ٹول کا استعمال کیا جائے۔ Pyenv آپ ​​کو بغیر کسی جھگڑے کے اپنے سسٹم میں Python کے مختلف ورژن انسٹال کرنے دیتا ہے۔

Pyenv کو انسٹال کرنا اور کنفیگر کرنا تھوڑا مشکل ہو سکتا ہے۔ Pyenv کو کچھ انحصار انسٹال کرنے کی ضرورت ہے کیونکہ یہ ماخذ سے بنتا ہے۔ اگر آپ Ubuntu/Debian پر ہیں تو نیچے دی گئی کمانڈ پر عمل کریں۔

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl

CentOS/Fedora/RHEL کے لیے،

sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite
sqlite-devel openssl-devel xz xz-devel libffi-devel

اب، آپ Pyenv کو انسٹال کرنے کے لیے تیار ہیں۔

curl pyenv.run | bash

اب Pyenv کو .bashrc فائل میں پاتھ میں شامل کریں۔ اپنی مرضی کے مطابق کسی بھی ایڈیٹر کا استعمال کرکے فائل کھولیں۔ ہم فائل کو کھولنے اور اس میں ترمیم کرنے کے لیے "vi" کا استعمال کریں گے۔

vi ~/.bashrc

INSERT موڈ میں داخل ہونے کے لیے حرف "o" ٹائپ کریں۔ اب، درج ذیل کوڈ کو کاپی اور پیسٹ کریں اور شیل کو دوبارہ شروع کریں۔

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)" eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

اب آپ اپنے سسٹم میں ازگر کا کوئی مخصوص ورژن انسٹال کر سکتے ہیں۔

pyenv انسٹال ازگر 3.8.15

اپنے سسٹم میں ازگر کے ورژن چیک آؤٹ کریں۔

$ pyenv versions * system (set by /home/sunil/.pyenv/version) 3.8.15 3.10.4

آپ دیکھ سکتے ہیں کہ میرے پاس ازگر کے دو مختلف ورژن انسٹال ہیں۔ آپ درج ذیل کمانڈ کو چلا کر اپنے عالمی اور مقامی ازگر کے ماحول کو بھی ترتیب دے سکتے ہیں۔

$ pyenv global 3.8.15
$ python --version
Python 3.8.15

Direnv کو ترتیب دیں۔

Direnv ایک ایسا ٹول ہے جو ازگر کے ڈویلپر کے طور پر آپ کی پیداواری صلاحیت کو بہتر بنا سکتا ہے۔ یاد رکھیں، آپ کتنی بار ورچوئل ماحول کو چالو کرنا اور کوڈز پر عمل درآمد شروع کرنا بھول گئے ہیں؟ ٹھیک ہے، مجھے لگتا ہے کہ یہ ہم میں سے اکثر کے ساتھ ہوا ہے. یہ وہ جگہ ہے جہاں Direnv کھیل میں آتا ہے۔ Pyenv اور Direnv کے کنفیگر ہونے کے ساتھ، آپ کو اپنے ورچوئل ماحول کو فعال کرنے کی ضرورت نہیں ہے واضح طور پر Direnv اسے آپ کی طرف سے سنبھالے گا۔

تو، ہم اپنے ماحول کے لیے Direnv کو کیسے ترتیب دیتے ہیں؟

آئیے Direnv کو انسٹال کرکے شروع کریں۔ ڈیبین/اوبنٹو ڈسٹرو قسم میں انسٹال کرنے کے لیے،

sudo apt-get direnv

اگر آپ Fedora/CentOS/RedHat پر مبنی ڈسٹرو قسم استعمال کرتے ہیں،

sudo dnf install direnv

اب اس فائل کو اپنی .bashrc فائل میں شامل کریں۔

eval "$(direnv hook bash)"

اس مواد کے ساتھ اپنے گھر (~) فولڈر میں .direnvrc نامی ایک نئی فائل شامل کریں:

use_python() { local python_root=$(pyenv root)/versions/$1 load_prefix "$python_root" if [[ -x "$python_root/bin/python" ]]; then layout python "$python_root/bin/python" else echo "Error: $python_root/bin/python can't be executed." exit fi
}

اس مواد کے ساتھ پروجیکٹ ریپوزٹری کے پیرنٹ فولڈر میں .envrc نامی فائل شامل کرکے اپنے پروجیکٹ کے لیے ایک ورچوئل ماحول بنائیں:

use python 3.10.4 #or any version you have installed in pyenv

اب قسم

direnv allow

دوبارہ شروع کریں یا اس میں ایک نیا شیل اور "cd" بنائیں، اور جادو دیکھیں۔ آپ کا ورچوئل ماحول خود بخود آن ہو جائے گا۔ آپ کو کچھ اس طرح نظر آئے گا۔

source "/home/sunil/Django/Feed App/.direnv/python-3.10.4/bin/activate"
direnv: loading ~/Django/Feed App/.envrc
direnv: using python 3.10.4
direnv: export +CPATH +LD_LIBRARY_PATH +LIBRARY_PATH +MANPATH +PKG_CONFIG_PATH +VIRTUAL_ENV ~PATH

ماحول کو غیر فعال کرنے کے لیے اپنی پروجیکٹ ڈائرکٹری سے باہر جائیں۔ اتنا آسان۔

Pipenv Python ماحولیات

اس فہرست میں اگلا امیدوار Pipenv ہے۔ Pipenv تمام پیکیج مینیجرز جیسے یارن، npm، کارگو، کمپوزر وغیرہ میں سے بہترین لانے کی کوشش کرتا ہے۔ Pipenv استعمال کرنے کا ایک فائدہ یہ ہے کہ آپ کو pip اور venv کو الگ الگ استعمال کرنے کی ضرورت نہیں ہے۔ اس کے علاوہ، Pipenv کا مقصد requirements.txt فائلوں کا استعمال کرتے ہوئے کئی مسائل کو حل کرنا ہے، جیسے نیسٹڈ انحصار یا ایک سے زیادہ ذیلی انحصار والے پیکجز، جو بعد میں کوڈ ماحول کو دوبارہ بناتے وقت غلطیوں کا سبب بن سکتے ہیں۔

Pipenv Pipfile اور ایک Pipfile استعمال کرتا ہے۔ پیچیدہ انحصار سے متعلق مسائل کو حل کرنے کے لئے فائل کو لاک کریں۔ جب آپ Pipenv کے ساتھ ایک ورچوئل ماحول بناتے ہیں تو ایک pipfile خود بخود بن جاتی ہے۔ یہ requirements.txt فائل کی طرح ہے۔ یہ پروجیکٹ اور ریئل ٹائم میں اپ ڈیٹس کے لیے ایک اعلیٰ سطحی تفصیلات کی فائل ہے۔ پائپ فائل لاک فائل انحصار کے صحیح ورژن کی وضاحت کرتی ہے۔ لاک فائل اس بات کو یقینی بناتی ہے کہ انسٹال کردہ پیکیج پورے سسٹمز میں ایک ہی ورژن کے ہیں۔

سیٹ اپ آسان ہے، پائپ کے ذریعے پائپن انسٹال کریں،

pip install pipenv

اگر آپ دوبارہ ماحول بنا رہے ہیں تو ٹائپ کریں۔

pipenv install -

یہ ایک ورچوئل ماحول میں لاک فائل میں درج تمام انحصار کو انسٹال کرے گا۔ شیل کی قسم کو چالو کرنے کے لیے:

pipenv shell

شیل سے باہر نکلنے کے لیے ایگزٹ ٹائپ کریں۔ ایک اور خصوصیت جو Pipenv کو ایک بہتر آپشن بناتی ہے وہ یہ ہے کہ آپ انسٹال شدہ پیکجوں کا انحصار گراف دیکھ سکتے ہیں۔ انحصار گراف کی قسم دیکھنے کے لیے، "pipenv گراف"۔

(temp) [[email protected] temp]$ pipenv graph
numpy==1.24.2
requests==2.28.2 - certifi [required: >=2017.4.17, installed: 2022.12.7] - charset-normalizer [required: >=2,<4, installed: 3.0.1] - idna [required: >=2.5,<4, installed: 3.4] - urllib3 [required: >=1.21.1,<1.27, installed: 1.26.14]

Pipenv کے بارے میں مزید جاننے کے لیے، ان کو دیکھیں سرکاری دستاویزات.

شاعری ازگر کا ماحول

شاعری انحصار کے انتظام اور Python فائل کی پیکیجنگ کے لیے ایک اور جدید Python ٹول ہے۔ یہ Python پیکجوں کے انتظام، ورژن بنانے، پیکیجنگ اور شائع کرنے کے لیے ایک متحد طریقہ فراہم کرتا ہے۔ بالکل اسی طرح جیسے Venv requirements.txt استعمال کرتا ہے اور Pipenv Pipfile استعمال کرتا ہے۔ lock، شاعری pyproject استعمال کرتی ہے۔ toml to pin انحصارات۔ شاعری pyproject استعمال کرے گی۔ انحصار کو حل کرنے کے لئے toml فائل۔

شاعری کو انسٹال کرنے کے لیے، نیچے دیے گئے اسکرپٹ کو چلائیں۔

curl -sSL https://install.python-poetry.org | POETRY_HOME=/etc/poetry python3 -

شاعری کے ساتھ ایک نیا پروجیکٹ شروع کرنے کے لیے، نیچے دیے گئے اسکرپٹ کو چلائیں؛

poetry new project

یہ مندرجہ ذیل فولڈر کی ساخت کے ساتھ پروجیکٹ ڈائرکٹری بنائے گا،

.
├── project
│ └── __init__.py
├── pyproject.toml
├── README.md
└── tests └── __init__.py

جیسا کہ آپ دیکھ سکتے ہیں، اس کے ساتھ پروجیکٹ فولڈر ہے۔ __init__.py، ایک pyproject toml سے انحصار بنانے کے لیے فائل، پروجیکٹ سے متعلق معلومات کی وضاحت کے لیے ایک README.md فائل، اور یونٹ ٹیسٹنگ کے لیے ٹیسٹ ڈائرکٹری۔

ایک Py پروجیکٹ فائل (نیچے دیکھیں) تین حصوں پر مشتمل ہوتی ہے پہلا سیکشن ([آلہ شاعری]) کچھ عمومی معلومات رکھتا ہے۔ دوسرا حصہ ([ٹول. شاعری. انحصار]) ازگر کے ورژن اور انحصار کو پن کرتا ہے۔ اور آخری سیکشن ([build-system]) تعمیراتی نظام کی وضاحت کرتا ہے۔ ان کے اہلکار سے رجوع کریں۔ دستاویزات اس بارے میں معلومات کے لیے۔

[tool.poetry]
name = "myproject"
version = "0.1.0"
description = ""
authors = ["sunilkumardash9 <[email protected]>"]
readme = "README.md" [tool.poetry.dependencies]
python = "^3.10"
requests = "^2.28.2" [build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

لائبریری انسٹال کرنا سیدھا سیدھا ہے۔ اگر آپ py پروجیکٹ فائل کے ساتھ کسی ذخیرہ سے تعمیر کر رہے ہیں، تو شاعری py پروجیکٹ فائل کا حوالہ دیتے ہوئے انحصار کو انسٹال کرے گی۔

#installing a single library
poetry add requests.py #installing dependencies from pyproject.toml
poetry install -

یہ پروجیکٹ ڈائرکٹری میں ایک خودکار شاعری لاک فائل کو شامل کرے گا۔ ایک بار لاک فائل ہونے کے بعد، اگلی بار سے شاعری لاک فائل کا حوالہ دیتے ہوئے انحصار انسٹال کرے گی۔

اسکرپٹ چلانے کے لیے، آپ مندرجہ ذیل شاعری کمانڈ استعمال کر سکتے ہیں۔

poetry run python main.py

مثال کے طور پر، اپنی پروجیکٹ ڈائرکٹری میں ایک main.py فائل بنائیں اور اس میں یہ لائنیں شامل کریں۔

import requests # Make an HTTP GET request to the API
response = requests.get('https://api.ipify.org') # Get the IP address from the response text
ip_address = response.text.strip() print(f"External IP Address: {ip_address}")

اب، آؤٹ پٹ حاصل کرنے کے لیے اوپر کی کمانڈ کا استعمال کرتے ہوئے فائل کو چلائیں۔

اگر آپ فائلوں کو چلانے کے لیے Poetry کمانڈ استعمال نہیں کرنا چاہتے ہیں تو اس کے ساتھ ایک ورچوئل ماحول بنائیں شاعری کا خول کمانڈ. اس سے ایک ورچوئل ماحول شروع ہو جائے گا، اور آپ اس میں معمول کے مطابق کام کر سکتے ہیں۔

نتیجہ

ورچوئل ماحول کے اندر ترقی کرنا آپ کے کوڈ کو پروڈکٹ ڈویلپمنٹ لائف سائیکل میں مستحکم، مستقل اور قابل اعتماد بنا دے گا۔ یہ ازگر کے ڈویلپر کی زندگی کے سب سے اہم حصوں میں سے ایک ہے۔ اگر کوئی پروجیکٹ پہلے سے ہی ورچوئل انوائرمنٹ ٹول استعمال کرتا ہے، تو اس کے ساتھ رہنا بہتر ہوگا۔ لیکن اگر آپ کوئی نیا پراجیکٹ شروع کر رہے ہیں تو بہتر ہو گا کہ پیپینو اور شاعری کے ساتھ چلیں۔

اس کا خلاصہ یہ ہے کہ مضمون کے اہم نکات یہ ہیں،

  • ہم نے ورچوئل ماحول استعمال کرنے کے فوائد سیکھے۔
  • ہم نے python کے ماحول کے مشہور ٹولز جیسے Venv، pyenv، Pipenv، اور Poetry کی مخصوص خصوصیات کے بارے میں سیکھا۔
  • ہم نے یہ بھی سیکھا کہ ان ٹولز کا استعمال کرتے ہوئے ورچوئل ماحول کیسے بنانا اور ان کا نظم کرنا ہے۔

لہذا، یہ آپ کے ازگر کے منصوبوں کو ہموار کرنے کے لیے مختلف اوپن سورس ازگر کے ماحول کے بارے میں تھا۔

مجھے امید ہے کہ آپ کو مضمون مددگار ثابت ہوا۔ میری پیروی کریں ٹویٹر ترقی اور مشین لرننگ سے متعلق مزید چیزوں کے لیے۔

اس مضمون میں دکھایا گیا میڈیا Analytics ودھیا کی ملکیت نہیں ہے اور مصنف کی صوابدید پر استعمال ہوتا ہے۔ 

ٹائم اسٹیمپ:

سے زیادہ تجزیات ودھیا