علی
علی
خواندن ۲ دقیقه·۴ سال پیش

گرفتن خروجی exe از پایتون در لینوکس بدون ماشین مجازی

مطمعنن مواقعی براتون پیش اومده که نیاز به گرفتن خروجی exe برای خودتون یا کارفرما یا استفاده های دیگه شده باشید .

اگه از اون دسته ادم های باشید که سیستم عامل اصلیشون لینوکس هستش و دلشون نمیخواد برای گرفتن یک خروجی ماشین مجازی ران بکنن یا حتی دوال بوت بکنن این مقاله میتونه نیازتونو برطرف بکنه.

پیش نیازها :

در این مرحله نیازه wine نصب کنیم که من روش نصب روی دبین بیس هارو گذاشتم اگه از توزیع های زیر استفاده میکنید

  • CentOS
  • Fedora
  • Redhat
  • به لینکی که دادم مراجعه کنید برای آموزش نصب
https://www.tecmint.com/install-wine-in-rhel-centos-and-fedora/

خب برای نصب روی دبین بیس ها دستور زیرو میزنیم

sudo apt install wine

بعد از نصب موفقیت امیز wine نیازه که یک نسخه ویندوزی از پایتون دانلود بکنیم که به سایت پایتون مراجعه میکنیم و نسخه مورد نیازمونو دانلود میکنیم من اینجا نسخه 3.8.7 دانلود میکنم

نسخه های دردسترس برای دانلود
نسخه های دردسترس برای دانلود
نسخه ویندوز اینستالری که خود پایتون پیشنهاد داده دانلود میکنیم
نسخه ویندوز اینستالری که خود پایتون پیشنهاد داده دانلود میکنیم

نصب و راه اندازی پایتون :

برای نصب پایتون روی wine یک ترمینال در محل دانلود فایل نصبی باز میکنیم و دستور زیرو میزنیم

sudo wine ./python-3.8.7-amd64.exe
نکته :‌ بجای اسم فایلی که گذاشتم اسم فایل اینستالری که دانلود کردید بزارید
خروجی دستور
خروجی دستور
نکته : تیک اضافه کردن پایتون تو PATH بزنید

گزینه Install Now یا Customize Installation وابسته به نیازتون بزنید

ممکنه با خطای مشابه

002e:err:mscoree:LoadLibraryShim error reading registry key for installroot

مواجه بشید بهش توجه نکنید.

بعد از دریافت نصب موفقیت آمیز پایتون دستور زیرو برای اطمینان بزنید اگه تیک اضافه کردن پایتون به Path زدید.

sudo wine python
خروجی دستور
خروجی دستور

اگه همچین خروجی دریافت کردید میتونید مرحله بعدی شروع کنید

گرفتن خروجی exe و نصب لایبری ها :

برای گرفتن خروجی و همینطور راحتی کار از لایبری auto-py-to-exe استفاده میکنیم که بر پایه pyinstaller هستش. برای نصب دستور زیر بزنید

sudo wine pip install auto-py-to-exe

بعد از نصب شدن اگه برنامه شما از لایبری خاصی استفاده میکنه اونهارو هم نصب کیند مثلا برنامه من از لایبری های

  • pyqt5
  • bs4
  • requests

استفاده میکنه پس دستور زیر میزنم

sudo wine pip install pyqt5 bs4 requests

بعد اتمام اینکار نیازه که از خود برنامه خروجی بگیریم برای اینکار دستور زیر میزنیم

sudo wine auto-py-to-exe
خروجی دستور
خروجی دستور
نکته : یکسری وارنینگ بهتون میده بهشون توجه نکنید
نکته : اخر متن بهتون یک لینک داده اونو باز کنید مثل تصویر بالا

خب تو این قسمت نیازه که مسیر فایل main خودمونو بهش بدیم از طریق قسمت File Location و زدن دکمه Browse برامون یک فایل بروزر باز میکنه

که من اول از وارد دایرکتوری روت خودم که به اسم / میتونید ببینید و بعد وارد دایرکتوری home و دایرکتوری یوزر خودم شدم برای دسترسی به فایل اسکریپت

بعد انجام اینکار میتونید تو قسمت Advance یک اسم برای خروجی exe خودتون انتخاب کنید و تو قسمت Settings محل خروجی exe خودتونو مشخص کنیدو بعد از انجام کانفیگ مورد نیازتون دکمه

CONVERT .PY TO .EXE

بزنید و خروجی exe خودتونو تحویل بگیرید.

برای تست خروجی هم میتونید به محل خروجی برید و دستور زیر بزنید

sudo wine ./app.exe



خب کارمون تموم شد و سعی کردم تا جای ممکن متن با توضیحات کافی بدون ابهام بگم اگه سوالی داشتید میتونید کامنت کنید.



مطالب قبلی :

اشتراک گذاری لوکال هاست در بستر اینترنت

آموزش استخراج API از اپلیکیشن ها




pythonلینوکس
یک فرد آزاد از خودش . github.com/bigsbug
شاید از این پست‌ها خوشتان بیاید