වැඩසටහනක් Executable (exe) program Python වැඩසටහනක් Executable (exe) program එකකට convert කරමු.....(py2exe and Pyinstaller)

 py2exe


අද මම කියන්න යන්නේ Python script එකක් Executable file(exe) එකකට convert කරන විදිහ...

මම මේකට ක්‍රම 2ක් කියලා දෙන්නම්..ඒ තමා py2exe භාවිතයෙන් සහ Pyinstaller භාවිතයෙන්..

PY2EXE


එහෙනම් මුලින්ම මෙතනින් ගිහින් py2exedownload කරගන්න..ඊට පස්සේ සාමාන්‍යය විදිහට ඒක Install කරගන්න.. 




ඊට පස්සේ ඔයාට convert කරන්න ඕන python script එක ඔයාගේ පරිගනකයේ python install කරලා තියන folder එකටම කොපි කරගන්න.. සාමාන්‍යෙයන් python 2.7 වල install directory එක C:\Python27

දැන් මේ යටින් දීලා තියන python script එක පේනවනේ..එකේ myscript.py කියන එක වෙනුවට ඔයාගේ python script එකේ නම දෙන්න..icon.ico කියන එක වෙනුවට ඔයා හදන්න යන exe file එකට දාන්න ඕන icon එකේ path එක දෙන්න..

ඒත් එක්කම ඔයාගේ script එක GUI එකක් සහිත එකක් නම් හෝ මේ script එක run වෙද්දි python console එක විවෘත වෙන්න ඕන නැත්තන් ඔතන තියන console කියන එක වෙනුවට windows කියලා වෙනස් කරන්න..

from distutils.core import setup
import py2exe

setup(
    console = [
        {
            "script": "myscript.py",  
            "icon_resources": [(1, "icon.ico")]    
        }
    ],
)

දැන් ඒ script එක py file එකක් විදිහට ඔයාගේ පරිගනකයේ python install කරලා තියන folder එකේම setup.py කියලා save කරගන්න..

ඔන්න දැන් අපේ python directory එකේ තියනවා ඔයාට convert කරන්න ඕන python script එක සහ setup.py script එක..

හරි දැන් start menu එකට ගිහින් search bar එකේ cmd කියලා ගහලා search කරන්න..


දැන් ඔය උඩ රූපේ පේනවා වගේ CMD shell එක උඩ right click කරලා copy දෙන්න..

දැන් ඒ කොපි කරගත්ත එක ඔයාගේ පරිගනකයේ python install කරලා තියන folder එකට paste කරන්න..

මේ විදිහට CMD shell එකේ කොපියක් ගන්නේ නැතුව shell එක ක්‍රියාත්මක වෙන directory එක පරිගනකයේ python install කරලා තියන directory එකට වෙනස් කරත් එකම වැඩේ වෙන්නේ..cd<space> python directory විදිහට command එක දුන්නත් වැඩේ හරි..



 

 හරි දැන් ඒ කොපි කරගත්ත cmd shell එක execute කරන්න..නැතිතන් original cmd එක execute කරල අර කිව්ව විදිහට directory එක වෙනස් කරගන්න..


දැන් මෙන්න මේ විදිහට command එකක් දෙන්න

python setup.py py2exe


දැන් CMD shell එකේ command ගොඩක් execute වෙවී යනව පෙනෙයි..ඒවා ඉවර වෙනකන් පොඩ්ඩක් ඉන්න..

දැන් ඒක ඉවර උනාම python directory එකේ dist කියන folder එක ඇතුලේ ඔයාගේ python script එකේ නමින්ම executable file එකක් හැදිලා තියෙයි..
මෙි තියෙන්නේ මම එහෙම හදාගත්ත ඒවා..

හැබැයි මෙහෙම දෙයක් තියනවා.. dist folder එක ඇතුලේ ඔයාගේ executable file අමතරව තවත් එක එක file ගොඩක් තියෙනව දකින්න පුලුවන් වෙයි..ඒවා තමා අපේ executable file එක ධාවනය කරවන්න ඕන වෙන python module වල එහෙම data files.ඉතින් මේ files නැතුව අපේ executable file එක වැඩ කරන්නේ නෑ..

ඒ කියන්නේ අපි කාටහරි අපේ executable file එක දෙනවනම් dist කියන folder එක පිටින්ම දෙන්න ඕනේ..

ඒත් ඔයාට ඕනෙනම් තනි executable file එකක් විතරක් හදා ගන්න,මම ඊලග ක්‍රමයෙන් ඒක කියල දෙන්නම්..


pyinstaller

එහෙනම් ඔන්න දෙවෙනි ක්‍රමය කියලා දෙන්න තමා යන්නේ..මුලින්ම මෙතනින් pyinstaller download කරගන්න..

දැන් ඒ download කරගත්ත pyinstaller files ටික c drive එක ඇතුලට extract කරගන්න..

ඔයාගේ convert කරන්න ඕනේ python script එකත් pyinstaller folder එකටම copy කරගන්න..අපි හිතමු ඔයාගේ python script එකේ නම star.py කියලා..

දැන් අර මම කලින් කිව්ව වගේ CMD shell එකේ කොපියක් pyinstaller folder එක ඇතුලට දාගන්න...


දැන් ඒ CMD shell එක execute කරන්න..ඊට පස්සේ shell එකේ මේ Command එක දෙන්න.

pyinstaller.py star.py

(ඔතන star.py කියලා තියන තැනට දෙන්න ඕනේ ඔයාගේ Python script එකේ නම) දැන් ඉස්සරලා වගේම CMD shell එකේ command ගොඩක් execute වෙවී යනව පෙනෙයි..ඒවා ඉවර වෙනකන් පොඩ්ඩක් ඉන්න..


ඉවර උනාම pyinstaller folder එක ඇතුලෙ ඔයාගේ python script එකේ නමින්ම folder එකක් හැදිලා තියනවා පෙනෙයි.






folder එක ඇතුලේ dist කියලා තව folder එකක් ඇති..ඒ dist කියන folder එක ඇතුලේ ආපහු ඔයාගේ python script එකේ නමින්ම folder එකක් හැදිලා තියනවා පෙනෙයි.ඒ folder එක ඇතුලේ අර කලින් වගේම data file එක්කම ඔයාගේ exe file එක නිර්මානය වෙලා තියනවා..

pyinstaller.py star.py --onefile
 


එතකොට python console එකත් අයින් කරන්න ඕනෙනම්

pyinstaller.py star.py –onefile --noconsole



 
exe file එකේ icon එකත් වෙනස් කරන්න ඕනෙනම් ඔයාගේ icon file එක pyinstaller folder එක ඇතුලට කොපි කරලා

pyinstaller.py star.py –onefile --noconsole --icon=icon.ico



 
ඔතන icon.ico කියන තැනට ඔයාගේ icon එකේ නම දෙන්න..
ඔන්න එතකොට වැඩේ හරි..අර කලින් කිව්ව තැනම ඔයාගේ තනි exe file එක නිර්මානය වෙලා තියෙයි..

දැන් අපි බැලුවොත් මේ විදිහට හදන exe file වල දුර්වලතා මොනවද කියලා
ප්‍රධානම දුර්වලතාවයක් තමා exe එක ක්‍රියාත්මක වෙන්න අවශ්‍යය data file නිසා සම්පූර්න වැඩසටහනේ ප්‍රමානය ටික්ක වැඩිවෙනවා අනිත් භාෂා එක්ක බලද්දි..

ඒත් එක්කම ඔයා තනි exe file එකක් හැදුවොත් අර කිව්ව data files ඔයාට නොපෙනුනට ඒවා tempory directory එකක් ඇතුලට extract වෙලා තමා program එක execute වෙන්න පටන් ගන්නේ..ඒ නිසා එතනදි සුලු ප්‍රමාදයක් ඇති වෙනවා..
Share on Google Plus

About REX

    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment