exe

  • warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid is 1005 is not allowed to access /tmp owned by uid 0 in /var/www/sites/sugree/codenone.com/subdomains/www/html/includes/file.inc on line 190.
  • warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid is 1005 is not allowed to access /tmp owned by uid 0 in /var/www/sites/sugree/codenone.com/subdomains/www/html/includes/file.inc on line 190.

การทำไฟล์ py เป็น Exe โดยใช้ py2exe เราต้องทำอย่าไรครับ งง มากเลยครับ ช่วยหน่อยครับขอบคุณครับ

sugree's picture

สร้างไฟล์ winsetup.py ตามตัวอย่างที่ http://www.codenone.com/node/11 กับ setup.py ของโปรแกรมที่เขียนขึ้นมา แล้วเรียก

python winsetup.py py2exe

ลองอ่านตัวอย่างเพิ่มเติมที่ http://www.py2exe.org/index.cgi/Tutorial

python winsetup.py py2exe

เรียกใช้ตรองใหนหรือครับ >>> ในโคด หรือ ใน path ไม่เข้าใจ แง้!!!

ผมสร้างแล้ว สมมุตว่า test.py ผมจะทำให้เป็น test.exe จะต้องดำเนินการอย่างไรครับ
ผมสร้างไฟล์ winsetup.py แล้ว โดยเอามาจากตัวอย่าง (ถูกใหมครับ) แล้วต้องเก็บไว้ที่ใหนครับ เวลาจะใช้งานทำอย่างไรครับ ไม่เข้าใจจริงๆ ครับ ขอบคุณครับ

sugree's picture

สร้างไฟล์ชื่อ winsetup.py

from distutils.core import setup
import py2exe
 
setup(console=['test.py']

แล้วเรียก python winsetup.py py2exe

c:\test>python.exe winsetup.py py2exe

ซักครู่ก็จะได้ c:\test\dist\test.exe

อีกนิดครับท่าน sugree
...คือว่าเราสร้างไฟล์ winsetup.py ตามตัวอย่าง หรือว่า
from distutils.core import setup
import py2exe

setup(console=['test.py']

แล้ว save เป็น winsetup.py

...เก็บไฟล็ winsetup.py และ test.py ไว้ที่ใหนครับ??
เวลาสั่ง c:\test>python.exe winsetup.py py2exe สั่งใน dos command หรือเปล่าครับ

ยังไม่ Get..ขอบคุณมากมายเลยครับ

sugree's picture

ไฟล์ winsetup.py มีหน้าตาแบบนี้

from distutils.core import setup
import py2exe
 
setup(console=['test.py']

เก็บไว้ที่เดียวกับ test.py แล้วสั่ง

python winsetup.py py2exe

ใน command prompt

ขอบคุณมากครับ คุณ sugree
-แต่ถ้าเอาไฟล์ Exe ที่ได้แล้วไปเล่นที่เครื่องอื่น มันเล่นไม่ได้ครับ มันต้องเอาไฟล์อื่นไปด้วยหรือเปล่าครับ

sugree's picture

ทุกไฟล์ที่อยู่กับ exe

khao_lek's picture

ผมจะถามเพิ่มนิดหนึ่งครับ คือ ผมสร้างโปรแกรมที่เราสร้างจาก python ด้วย py2exe
แล้วเวลาโปรแกรมรันมันขึ้น error ว่า "ImportError: No Module named decimal"
แล้วก็บอกว่าบรรทัดที่ error ซึ่งบรรทัดนั้นเป็นการ import module มาใช้งานนะครับ
แล้วมันก็บนว่า module.pyc บรรทัดที่ 30
แต่เวลาที่ผมทดสอบรันผ่านdos ไม่เห็นจะ errorอะไรเลยโปรแกรมทำงานเรียบร้อยทุกอย่าง
แต่ทำไมพอสร้าง exe แล้วถึงerror นะครับ จะแก้อย่างไรดีครับ

sugree's picture

ลองเพิ่ม "includes": "decimal",

khao_lek's picture

ขอบคุณครับคุณ sugree พอดีเมื่อคืนผมหาใน google ไปเจอปัญหาเดียวกันมานะครับ
เขาก็ให้ import decimal เข้ามาเหมือนที่คุณ sugree บอกเลยครับ สงสัยคงจะเป็น
ปัญหาของ module pyMSSQL นะครับ แต่พอ import เข้ามาแล้วกลับทำให้ module
ADODB ทำงานผิดปกติอีกเฮ้อปัญหาเยอะจัง เดี่ยวผมมาบอกต่อละกันครับ

ย้าย Codenone

ประกาศย้าย Codenone ไปใช้ Forum ของ Blognone แทนครับ ตามไปตั้งกระทู้ต่อได้ที่ Codenone Forum (รายละเอียดอ่านจากกระทู้ ย้าย Codenone ไปรวมกับ Blognone)

กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น