در این مطلب، ویدئو نحوه استفاده از zipapp برای بسته بندی برنامه های پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:07:47
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:06,720 –> 00:00:11,680
سلام serdar yagalop اینجا برای دنیای اطلاعات در این
قسمت از smartpython ما به
2
00:00:11,680 –> 00:00:16,960
استاندارد برنامه zip اجازه میدهیم برنامههای پایتون
بهعنوان یک بسته مستقل توزیع شوند
3
00:00:17,760 –> 00:00:21,680
یکی از بزرگترین کاستیهای پایتون این است
که گرفتن پایتون سخت است. برنامهای
4
00:00:21,680 –> 00:00:27,120
که نوشتهاید آن را بستهبندی کنید و آن را به شخص
دیگری بدهید تا تقریباً در همه موارد اجرا شود، شخص دیگر
5
00:00:27,120 –> 00:00:31,680
باید یک کپی از مفسر پایتون داشته باشد تا
این کار را انجام دهد.
6
00:00:31,680 –> 00:00:37,280
مخزن یک محیط مجازی راهاندازی
7
00:00:37,280 –> 00:00:41,680
میکند الزامات مورد نیاز برای اجرای آن را در
محیط مجازی نصب میکند و سپس از آنجا میرود
8
00:00:41,680 –> 00:00:45,600
اکنون این سختترین کار در دنیا برای
کسی با مقدار مناسبی از تجربه پایتون
9
00:00:45,600 –> 00:00:52,560
نیست اما ممکن است کاری که بسیاری از مردم انجام نمیدهند، خستهکننده باشد.
نمیدانم آیا استانداردی در پایتون برای بستهبندی
10
00:00:52,560 –> 00:00:59,120
فهرست برنامههای پایتون در بایگانی وجود دارد که
میتوان با یک کلیک آن را اجرا کرد، برنامه فشرده نامیده میشود.
11
00:00:59,120 –> 00:01:02,640
می تواند توزیع برنامه را
برای چند سناریو کلیدی
12
00:01:03,760 –> 00:01:08,880
ساده کند. استاندارد برنامه zip بسیار ساده است، فقط
یک آرشیو فشرده از فهرستی از فایل های پایتون
13
00:01:08,880 –> 00:01:13,040
بسته بندی شده است به گونه ای که پایتون
بداند از چه ماژول و عملکردی استفاده
14
00:01:13,040 –> 00:01:19,760
کند.
مثال ساده من در اینجا یک ماژول به نام
15
00:01:19,760 –> 00:01:27,200
myapp یک دایرکتوری با یک فایل main.pi یک فایل init.pi
و یک فایل کمکی دارم که از آن تابعی را وارد می کنیم
16
00:01:27,200 –> 00:01:33,600
تا اجرا شود، من می توانم این ماژول را
از خط فرمان فقط با تایپ pi my app اجرا کنم.
17
00:01:34,800 –> 00:01:41,280
حالا اگر میخواهم این ماژول را به یک برنامه فشرده تبدیل
کنم، کافی است که pi dash m zip app را تایپ
18
00:01:41,280 –> 00:01:45,360
کنم، برنامه من نیازی نیست چیزی نصب کنم،
زیرا برنامه zip بخشی از کتابخانه استاندارد
19
00:01:46,480 –> 00:01:51,200
است سپس یک نقطه pi ایجاد میکند. فایل z
این آرشیو زیپ شده از دایرکتوری است
20
00:01:51,920 –> 00:01:55,280
و در زمان اجرای پایتون ثبت شده است،
بنابراین برای اجرای
21
00:01:55,280 –> 00:02:01,840
آن کافی است روی آن دوبار کلیک کنید
یا pi myapp.piz را تایپ کنید و اجرا خواهد شد.
22
00:02:03,120 –> 00:02:08,320
به نظر می رسد به اندازه کافی ساده است.
چند کلید لی تغییراتی در نحوه عملکرد برنامههای فشرده
23
00:02:08,320 –> 00:02:14,080
برای یکی بهطور پیشفرض، هیچ راه مناسبی
برای گنجاندن ماژولهای شخص ثالث با یک برنامه فشرده
24
00:02:14,080 –> 00:02:19,040
وجود ندارد این یک اشکال بزرگ است زیرا بسیاری از
عملکرد هر برنامه پایتون در
25
00:02:19,040 –> 00:02:24,640
ماژولهای شخص ثالث است، در اینجا مثالی از این مشکل است.
در عمل من در اینجا یک نسخه کمی تغییر یافته
26
00:02:24,640 –> 00:02:30,640
از همان برنامه دارم تفاوت اصلی آن این است که
numpy را وارد می کند و از آن استفاده می کند که یک کتابخانه بزرگ و
27
00:02:30,640 –> 00:02:37,760
پیچیده است، اکنون می توانم
با تایپ pi dash m zip app myapp به عنوان یک برنامه zip از این برنامه بسازم.
28
00:02:37,760 –> 00:02:44,800
قبلاً اما اگر بخواهم آن را اجرا کنم نمیتوانم آن را اجرا کنم
، خطای دریافت میکنم که به من میگوید numpy پیدا نشد.
29
00:02:44,800 –> 00:02:47,840
30
00:02:48,960 –> 00:02:55,920
برای این کار استفاده از pip برای
نصب numpy در همان پوشهای است که
31
00:02:55,920 –> 00:03:01,440
برنامه ما در آن قرار دارد و این در واقع آنقدرها هم سخت
نیست، زیرا pip گزینهای دارد که به ما امکان
32
00:03:01,440 –> 00:03:07,440
میدهد پوشه هدفی را که در آن نصب میکنیم کنترل کنیم و میتوانیم
آن را به عنوان مثال انجام دهیم. روش تایپ این دستور
33
00:03:08,640 –> 00:03:14,800
و پس از اتمام نصب، میتوانیم سعی کنیم
برنامه zip را مانند قبل اجرا کنیم و اکنون همانطور که میبینید
34
00:03:14,800 –> 00:03:20,400
کار میکند، اما اکنون مشکل جدیدی
داریم، همان مشکل قدیمی را دوباره در یک پوسته جدید داریم
35
00:03:20,400 –> 00:03:25,040
چگونه همه را باندل کنیم این را برای دادن آن به
شخص دیگری از نظر تئوری خوب میتوانیم
36
00:03:25,040 –> 00:03:29,760
کل این فهرست را منهای پوشه برنامه اصلی خود زیپ
کنیم، زیرا دیگر به آن نیازی نداریم
37
00:03:29,760 –> 00:03:34,160
و فقط به هر کسی که در آن طرف است بگوییم که
میتواند همه اینها را در یک پوشه باز کند و
38
00:03:34,160 –> 00:03:41,200
فایل pi z را با کپی پایتون خود به خوبی اجرا کنید که
لزوماً بهترین راه حل نیست،
39
00:03:41,200 –> 00:03:46,800
اکنون تعدادی از افراد هستند که کتابخانههایی از
ساخت خودشان ارائه کردهاند که بر روی رفتار برنامههای zip گسترش مییابند
40
00:03:46,800 –> 00:03:53,200
تا امکان انجام کارهایی از این قبیل را
فراهم کنند، یکی از کتابخانههایی مانند shiv. ایجاد شده توسط افراد در linkedin
41
00:03:54,240 –> 00:03:58,720
shiv همان رویکرد اولیه برنامه zip
را دارد که بر اساس همان کد ساخته شده است، اما
42
00:03:58,720 –> 00:04:05,520
چند تفاوت کلیدی دارد اول از همه به شما امکان میدهد
در ماژولهای شخص ثالث که استخراج میشوند، بستهبندی کنید.
43
00:04:05,520 –> 00:04:09,760
به طور خودکار اولین باری که برنامه را اجرا
میکن