محیط های مجازی و پکیج ها در پایتون
از میان تمام دلایلی که باعث شده تا پایتون امروزه مورد توجه بسیاری از توسعه دهندگان قرار گیرد می توان پکیج های شخص ثالث را در میان مهمترین دلایل قرار داد.
محیط های مجازی پایتون یکی از بهترین ابزارهایی هستند که امروزه شما می توانید از آنها در پروژه های خود استفاده کنید. پکیج های زبان برنامه نویسی پایتون در واقع ابزارهایی هستند که شما برای انجام فعالیت های مختلف می توانید از آنها استفاده کنید. از دریافت و قالب بندی درست داده ها گرفته تا توابع ریاضی و توابعی که در یادگیری ماشین استفاده می شوند همگی با سرعت بالایی توسط این پکیج ها قابل اجرا شدن هستند.
حال ممکن است این سوال برای شما به وجود بیاید که چه می شود اگر این پکیج ها به خوبی با یکدیگر کار نکنند؟ زمانی که پروژه های مختلف زبان برنامه نویسی پایتون به نسخه های متفاوت و ناسازگار یک پکیج نیاز دارند چه اقدامی می توان انجام داد؟ اینجاست که محیط های مجازی پایتون وارد عمل می شوند و می توانند بهترین عملکرد را در این زمینه به شما ارائه دهند.
یکی از عوامل مهم در تخصص برنامه نویسی، انتخاب بهترین آموزشگاه پایتون در اصفهان است
آشنایی با محیط های مجازی پایتون
محیط های مجازی پایتون در واقع راهی برای داشتن نمونه های متعدد و موازی از مفسر زبان برنامه نویسی پایتون هستند که هر یک از آنها با مجموعه ای مستقل از پکیج ها و پیکربندی های مختلف کار می کنند. هر محیط مجازی حاوی یک کپی مجزا از مفسر زبان برنامه نویسی پایتون است.
پکیج هایی که در هر یک از محیط های مجازی پایتون نصب می شوند تنها در آن محیط مجازی دیده شده و قابل دسترسی هستند و در هیچ محیط دیگری نمی توانید به آنها دسترسی داشته باشید. شاید برای شما جالب باشد که بدانید حتی پکیج های بزرگ و پیچیده با باینری های وابسته به پلتفرم را نیز می تواند در محیط های مجازی به صورت مجزا از یکدیگر اجرا کرد.
کاربردهای مختلف محیط های مجازی پایتون
شما ممکن است به چند دلیل رایج اقدام به استفاده از محیط های مجازی پایتون کنید که این دلایل شامل موارد زیر هستند:
– شما قصد دارید با ترکیب خاصی از پکیج ها کار کرده و آنها را تحت شرایط بسیار کنترل شده آزمایش کنید. به عنوان مثال برای آزمایش سازگاری متقابل ممکن است مجبور به انجام این کار شوید.
شما قصد دارید یک نسخه پایه از مفسر زبان برنامه نویسی پایتون را روی سیستمی بدون پکیج های شخص ثالث اجرا کنید و تنها پکیج های شخص ثالث را برای هر پروژه جداگانه در صورت نیاز نصب کنید.
اهمیت استفاده از محیط های مجازی پایتون
هیچ قانونی وجود ندارد که بیان کند شما نمی توانید به سادگی یک کتابخانه پایتون را در زیر پوشه های یک پروژه باز کنید و از آنها به این طریق استفاده کنید. به همین ترتیب شما می توانید یک کپی مستقل از مفسر زبان برنامه نویسی پایتون را دانلود کرده، آن را در یک پوشه باز کنید و از آن برای اجرای اسکریپت ها و پکیج های اختصاص داده شده به آن استفاده کنید.
اما نباید فراموش کنید که مدیریت چنین پروژه هایی به زودی بسیار سخت می شود. در ابتدا انجام این کار ساده به نظر می رسد چرا که کار کردن با پکیج هایی که دارای مولفه های باینری بوده یا به وابستگی های پکیج های شخص ثالث متکی هستند می تواند برای شما به یک کابوس مهم تبدیل شود. بدتر از آن این است که بازتولید چنین تنظیماتی در دستگاه شخصی دیگر یا در دستگاه جدیدی که شما در حال مدیریت آن هستید می تواند مشکل ساز شود.
بهترین راهکار دراز مدت استفاده از مکانیزم های بومی و محلی پایتون برای ایجاد، بازتولید و کار کردن با محیط های مجازی می باشد.
محیط های مجازی در زبان پایتون مدرن
پایتون دارای ابزارهای مجازی زیادی برای کار کردن با محیط های مجازی است که کل فرایند استفاده از آنها را برای شما ساده تر می کند. البته همیشه اینطور نبوده است ولی اکنون همه نسخه های پشتیبانی شده از زبان برنامه نویسی پایتون از ابزارهای محیط مجازی پایتون مانند venv استفاده می کنند.
ساخت یک محیط مجازی در پایتون
برای ایجاد یک محیط مجازی در یک دایرکتوری داده شده کافی است که دستور زیر را تایپ کنید:
دقت داشته باشید که اگر سیستم شما پایتون 2 را به عنوان مفسر پیش فرض زبان برنامه نویسی پایتون تشخیص داده شود شما باید از پایتون 3 به جای پایتون استفاده کنید. در سیستم عامل ویندوز شما می توانید از py به جای پایتون استفاده کنید تا دسترسی مطمئن به نسخه پایتون نصب شده داشته باشید.
کل فرایند راه اندازی محیط های مجازی در پایتون ممکن است یک یا دو دقیقه به طول بینجامد. زمانی که این عملیات به اتمام می رسد باید یک دایرکتوری با چندین زیرشاخه در آن داشته باشید. مهمترین زیر پوشه ای که شما در اینجا دارید زیر پوشه bin در یونیکس و Scripts در ویندوز است که شما در آن می توانید یک کپی از مفسر زبان برنامه نویسی پایتون را بیابید و از آن برای محیط های مجازی پایتون استفاده کنید.
کپی مفسر زبان برنامه نویسی پایتون
نکته ای که در این مرحله باید به آن دقت داشته باشید این است که چون هر محیط مجازی دارای یک کپی از مخصوص به خود از مفسر زبان برنامه نویسی پایتون است که می تواند حجم نسبتا بالایی نیز داشته باشد. یک محیط مجازی پایتون 3.9 می تواند بسته به سیستم عاملی که روی آن نصب شده است از 15 تا 25 مگابایت فضای دیسک را مصرف کند.
فعال کردن محیط های مجازی پایتون
قبل از این که بتوانید از محیط های مجازی پایتون استفاده کنید باید به صورت مستقیم اقدام به فعال کردن آن کنید. فعال سازی محیط مجازی به مفسر پیش فرض زبان برنامه نویسی پایتون به شکل های زیر برای سیستم عامل های مختلف صورت می گیرد:
نکاتی مهم برای استفاده از محیط های مجازی در پایتون
پیکربندی و استفاده از محیط مجازی پایتون
اگر در حال حاضر با این موضوع آشنا هستید که چگونه باید از PIP استفاده کنید باید بدانید که این مسئله دقیقا در محیط های مجازی پایتون نیز صادق است. تنها کاری که باید انجام دهید این است که اطمینان حاصل کنید از نمونه ای از PIP استفاده می کنید که پکیج ها را برای محیط مجازی در زمینه ای که فعال شده است استفاده می کند. اگر شما هم قصد دارید بررسی کنید که از نسخه مناسب PIP و محیط مجازی مناسب استفاده می کنید می توانید دستور pip –V را تایپ کنید و بررسی کنید مسیری که برای شما نمایش داده می شود به زیر پوشه ای از محیط مجازی شما اشاره دارد یا خیر؟
نکاتی مهم برای پیکربندی و اجرای محیط های مجازی پایتون
دقت داشته باشید زمانی که می خواهید PIP را در یک محیط مجازی ارتقا دهید بهتر است که از دستور زیر استفاده کنید:
برای استفاده از محیط مجازی که برای اجرای اسکریپت های پایتون ایجاد کرده اید کافی است که پایتون را از طریق خط فرمان در کانتکسی که آن را فعال کرده اید فراخوانی کنید. به عنوان مثال برای اجرای یک اسکریپت فقط کافی است که python myscript.py را اجرا کنید.
مدیریت پکیج ها در محیط مجازی پایتون
نکته مهم دیگری که باید به آن دقت داشته باشید این است که کپی های pip و setuptools که در محیط مجازی وجود دارند در واقع محلی برای آن محیط مجازی نیز به شمار می آیند. هر یک از محیط های مجازی پایتون نسخه های مخصوص به خود را دارند که نیازمند به روزرسانی و نگهداری مستقل است. به همین علت نیز ممکن است هشدارهایی درباره قدیمی بودن PIP در برخی از محیط های مجازی پایتون دریافت کنید. بنابراین سعی کنید PIP را در هر محیط مجازی به صورت جداگانه و مستقل به روزرسانی کنید.
جهت آدرس و تلفن آموزشگاه آریا تهران اینجا کلیک کنید
غیر فعال کردن محیط های مجازی پایتون
حذف کردن محیط مجازی
محیط های مجازی پایتون کاملا خودکفا و مستقل هستند. بنابراین زمانی که شما دیگر نیازی به محیط های مجازی پایتون ندارید می توانید دایرکتوری و پوشه مربوط به آن را حذف کنید. تنها کاری که باید انجام دهید این است که اطمینان حاصل کنید ابتدا تمام نسخه های در حال اجرا پایتون را که از آن محیط مجازی استفاده می کنند متوقف کنید.
محیط های مجازی پایتون 2
زمانی که از پایتون 2 استفاده می کنید دیگر محیط های مجازی پایتون به آن ویژگی های اصلی این زبان به شمار نمی آیند. در عوض شما باید کتابخانه های شخص ثالث را برای ایجاد و مدیریت محیط های مجازی نصب کنید.
دقت داشته باشید که نسخه 2 زبان برنامه نویسی پایتون نباید برای توسعه برنامه جدیدی مورد استفاده قرار گیرد. محیط های مجازی در پایتون 2 دقیقا مانند خود پایتون 2 باید فقط برای نگهداری از پروژه های قدیمی استفاده شوند که در نهایت باید به پایتون 3 منتقل شوند.
استفاده از محیط های مجازی پایتون در Jupyter notebooks
به روزرسانی محیط های مجازی پایتون
زمانی که شما یک ران تایم پایتون را روی سیستم خود به روزرسانی می کنید محیط های مجازی که از آن نسخه از پایتون استفاده می کنند به طور خودکار به روزرسانی نمی شوند. این کار بر عهده شماست چرا که طراحی این محیط های مجازی پایتون به این شکل می باشد. دلیل این طراحی نیز این است که ارتقا ناخواسته به نسخه های مختلف پایتون می تواند باعث خرابی پکیج های همراه آنها شود.
دقت داشته باشید که محیط مجازی را از قبل فعال نکنید چرا که در این صورت ممکن است به روزرسانی شما به درستی کار نکند.
اگر یک نسخه اصلی و جدید از زبان برنامه نویسی پایتون را نصب کرده اید( به عنوان مثال قبلا از پایتون 3.8 استفاده می کردید و در حال حاضر از نسخه 3.9 این زبان برنامه نویسی استفاده می کنید) باید یک محیط مجازی جدید ایجاد کنید که به طور خاص از نسخه اصلی جدید زبان برنامه نویسی پایتون استفاده می کند. بنابراین شما به هیچ وجه نباید سعی کنید که یک محیط مجازی موجود که قبلا ایجاد کرده اید را به نسخه اصلی بالاتر زبان برنامه نویسی پایتون ارتقا داده و به روزرسانی کنید. با رعایت کردن این نکات به سادگی می توانید به روزرسانی های مورد نیاز برای محیط های مجازی پایتون را انجام دهید. محیط های مجازی یک تکنیک رایج و موثر در توسعه پایتون هستند. به دست آوردن درک بهتری از نحوه کار آنها، چرایی نیاز به آنها و کارهایی که می توانید با آنها انجام دهید به شما کمک می کند تا بر گردش کار برنامه نویسی پایتون خود تسلط پیدا کنید.
# محیط مجازی در پایتون چیست؟
در اصل ، هدف اصلی محیط های مجازی پایتون ایجاد یک محیط جداگانه برای پروژه های پایتون است. این بدان معناست که هر پروژه می تواند وابستگی های خاص خود را داشته باشد ، صرف نظر از اینکه هر پروژه دیگری چه وابستگی هایی دارد.
سناریویی را تصور کنید که در آن روی دو پروژه پایتون مبتنی بر وب کار میکنید و یکی از آنها از جنگو 2 و دیگری از جنگو 3 استفاده میکند. در چنین شرایطی محیط مجازی می تواند برای حفظ وابستگی هر دو پروژه واقعا مفید باشد.
# نصب محیط مجازی در پایتون
ابزاری برای ایجاد محیط های ایزوله در پایتون است. از نسخه پایتون 3.3، این پکیج در کتابخانه استاندارد پایتون با نام venv ادغام شده است. پس اگر از نسخه پایتون 3.3 به بالا استفاده میکنید، نیازی به نصب چیزی ندارید. اما اگر نسخه پایتون شما پایین تر از 3.3 است با دستورات زیر میتوانید این پکیج را نصب کنید:
pip install virtualenv
$ python3 -m venv -h
usage: venv [-h] [–system-site-packages] [–symlinks | –copies] [–clear]
[–upgrade] [–without-pip] [–prompt PROMPT] [–upgrade-deps]
ENV_DIR [ENV_DIR …]
Creates virtual Python environments in one or more target directories.
positional arguments:
ENV_DIR A directory to create the environment in.
optional arguments:
-h, –help show this help message and exit
–system-site-packages
Give the virtual environment access to the system
site-packages dir.
–symlinks Try to use symlinks rather than copies, when symlinks
are not the default for the platform.
–copies Try to use copies rather than symlinks, even when
symlinks are the default for the platform.
–clear Delete the contents of the environment directory if it
already exists, before environment creation.
–upgrade Upgrade the environment directory to use this version
of Python, assuming Python has been upgraded in-place.
–without-pip Skips installing or upgrading pip in the virtual
environment (pip is bootstrapped by default)
–prompt PROMPT Provides an alternative prompt prefix for this
environment.
–upgrade-deps Upgrade core dependencies: pip setuptools to the
latest version in PyPI
Once an environment has been created, you may wish to activate it, e.g. by
sourcing an activate script in its bin directory.
# ساخت محیط مجازی در پایتون
برای ایجاد یک محیط مجازی در پایتون، به دایرکتوری پروژه خود بروید و کتابخانه venv را از مفسر پایتون صدا بزنید:
py -m venv my_env # windows
python3 -m venv my_env # linux
در قطعه کد بالا، ابتدا مفسر پایتون را صدا زدیم، سپس با آپشن m- مشخص کردیم که قرار است یک ماژول از کتابخانه استاندارد پایتون اجرا کنیم به نام venv. در آخر مسیری که قرار است محیط مجازی در آن ساخته شود را مشخص کردیم که ما فقط my_env قرار دادیم. در این صورت محیط مجازی در دایرکتوری فعلی ایجاد خواهد شد.
بعد از اجرا کد بالا، یک دایرکتوری به نام my_env ایجاد خواهد شد که شامل ساختار دایرکتوری مشابه این است:
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── easy_install
│ ├── easy_install-3.5
│ ├── pip
│ ├── pip3
│ ├── pip3.5
│ ├── python -> python3.5
│ ├── python3 -> python3.5
│ └── python3.5 -> /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5
├── include
├── lib
│ └── python3.5
│ └── site-packages
└── pyvenv.cfg
در اینجا هر پوشه حاوی موارد زیر است:
- bin: فایل هایی که با محیط مجازی تعامل دارند
- include: هدرهای C که بسته های پایتون را کامپایل می کنند
- lib: یک کپی از نسخه پایتون به همراه یک پوشه site-packages که هر وابستگی در آن نصب شده است
# فعال کردن محیط مجازی در پایتون
با دستورات زیر میتوانید محیط محازی را فعال کنید:
.\my_env\Scripts\activate # windows
source my_env/bin/activate # linux
بعد از فعال شدن محیط مجازی، prompt شما به شکل زیر خواهد بود:
(my_env)$
میتوانید با بررسی مکان مفسر پایتون خود تأیید کنید که در محیط مجازی هستید:
where python # windows
which python # linux
دستورات بالا باید دایرکتوری مفسر پایتون در محیط مجازی را نمایش دهند:
…\my_env\Scripts\python.exe # windows
…/my_env/bin/python # linux
تا زمانی که محیط مجازی شما فعال باشد، pip پکیج ها را در آن محیط خاص نصب میکند و شما میتوانید پکیج ها را در برنامه پایتون خود وارد کرده و از آنها استفاده کنید.
# غیرفعال کردن محیط مجازی در پایتون
اگر می خواهید پروژه را تغییر دهید یا محیط مجازی خود را ترک کنید، به سادگی اجرا کنید:
deactivate
اگر می خواهید دوباره وارد محیط مجازی شوید، کافی است همان دستورالعمل های بالا را در مورد فعال سازی یک محیط مجازی دنبال کنید. نیازی به ایجاد مجدد محیط مجازی نیست.
# نصب پکیج در محیط مجازی پایتون
بعد از اینکه محیط مجازی خود را فعال کردید می توانید پکیج ها را نصب کنید. تمام پکیج هایی که نصب میکند در محیط مجازی نصب خواهند شد. بیایید کتابخانه Requesبر خلاف برخی زبانهای برنامهنویسی رایج دیگر که بلاکهای کد در آکولاد تعریف میشوند (بهویژه زبانهایی که از گرامر زبان سی پیروی میکنند) در زبان پایتون از نویسه فاصله و جلوبردن متن برنامه برای مشخص کردن بلاکهای کد استفاده میشود. به این معنی که تعدادی یکسان از نویسه فاصله در ابتدای سطرهای هر بلاک قرار میگیرند، و این تعداد در بلاکهای کد درونیتر افزایش مییابد. بدین ترتیب بلاکهای کد به صورت خودکار ظاهری مرتب دارند.
پایتون مدلهای مختلف برنامه نویسی (از جمله شی گرا و برنامه نویسی دستوری و تابع محور) را پشتیبانی میکند و برای مشخص کردن نوع متغییرها از یک سامانه پویا استفاده میکند. این زبان از زبانهای برنامه نویسی مفسر بوده و به صورت کامل یک زبان شیگرا است که در ویژگیها با زبانهای تفسیری پرل، روبی، اسکیم، اسمالتاک و تیسیال مشابهت دارد و از مدیریت خودکار حافظه استفاده میکند.
پایتون پروژهای آزاد و متنباز توسعهیافتهاست و توسط بنیاد نرمافزار پایتون مدیریت میگردد.
پایتون قابل توسعه است:
). زمانی که واقعا درگیر شوید، می توانید مفسر پایتون را به یک برنامه نوشته شده به زبان C اتصال دهید و از آن به عنوان یک افزونه یا دستور زبان برای آن برنامه استفاده کنید. ضمنا نام این زبان برگرفته از برنامه “Monty Python’s Flying Circus در BBC است و هیچ ارتباطی با خزندگان ندارد(مار پیتون). ارجاع به مستندات Monty Python skits نه تنها مجاز است ، بلکه مورد تشویق نیز واقع می شود.
حال که همه شما درباره پایتون مشتاق و هیجان زده هستید، میخواهید آن را با جزییات بیشتری امتحان کنید. از آنجایی که بهترین راه برای یادگیری یک زبان استفاده از آن است، این آموزش همزمان با خواندن، شما را دعوت به بازی با مفسر پایتون می کند.
در بخش بعدی، مکانیزم استفاده از مفسر توضیح داده می شود که ممکن است اطلاعات کسل کننده ای باشد اما برای انجام مثال هایی که بعدا نشان داده می شوند ضروری است. در ادامه این آموزش، ویژگی های متنوع زبان و سیستم پایتون از طریق مثال ها معرفی می شود. از اصطلاحات ساده شروع می کنیم، سپس عبارات و انواع داده، توابع و ماژول ها، و در نهایت مفاهیم پیشرفته مانند استثناها و کلاس های تعریف شده توسط کاربر معرفی می شوند.
جهت یادگیری می توانید از آموزش پایتون در اصفهان شروع کنید
ts را از نصب کنیم:
(my_env)$ pip install requests
pip باید پکیج requests و تمام وابستگی هایش را دانلود و محیط مجازی نصب کند.