2009-12-15 17 views
10

Tôi đang sử dụng Py2exe để biên dịch máy chủ CherryPy (3.1) sử dụng Python 2.6 (32 bit) trên Windows 7 Pro (64 bit).Py2exe: Tệp kê khai và w9xpopen.exe có cần thiết khi biên soạn máy chủ web không có giao diện GUI không?

Máy chủ này sẽ chạy mà không có GUI.

Câu hỏi:

  1. Tôi có cần phải được quan tâm về việc thêm một file manifest cho ứng dụng này nếu nó chạy mà không có một giao diện đồ họa?

  2. Tôi có cần phải bao gồm w9xpopen.exe với exe của mình không?

Cho đến nay, thử nghiệm giới hạn của tôi đã chỉ ra rằng tôi không cần phải bao gồm tệp kê khai hoặc w9xpopen.exe với tệp thực thi của tôi để nó hoạt động.

Nhận xét được đánh giá cao.

Cảm ơn bạn, Malcolm

Trả lời

10

w9xpopen.exe là cho các cửa sổ 95/98, Vì vậy, nếu bạn không sử dụng những người bạn sẽ không cần đến nó.

Bạn có thể thêm dll_excludes=['w9xpopen.exe'] vào tệp thiết lập của bạn cho py2exe để loại trừ điều đó.

và tất nhiên bạn sẽ không cần tệp kê khai nếu bạn không sử dụng GUI.

+0

Tôi đã có ấn tượng rằng tệp kê khai cũng được yêu cầu với Python 2.6 để exe tìm tệp thời gian chạy MSVC * .DLL của nó. Nếu tôi hiểu bình luận của bạn một cách chính xác, đây không phải là trường hợp vì tệp kê khai chỉ là bắt buộc đối với các ứng dụng GUI - không phải ứng dụng bảng điều khiển. Điều này có đúng không? Cảm ơn bạn! - Malcolm – Malcolm

+1

Tôi đang xây dựng một [tệp đơn thực thi] (http://stackoverflow.com/a/113014/1497596) và mặc dù tôi đã kết hợp chỉ thị 'dll_excludes []' trong 'setup.py', tập tin 'w9xpopen.exe' vẫn đang được thêm vào thư mục' dist' của tôi. (Tôi nhận ra rằng mặc dù 'w9xpopen.exe' là không cần thiết để chạy tập tin thực thi duy nhất của tôi được tạo ra trên Windows 7.) – DavidRR

0

Tệp kê khai sẽ không được yêu cầu cho các ứng dụng bảng điều khiển. w9xpopen.exe không bắt buộc đối với Win XP trở lên.

0
  • Không thể yêu cầu tệp kê khai.

  • Và bạn có thể loại trừ w9xpopen.exe (đối với Win XP trở lên)

Đối với những gì nó có giá trị, sử dụng py2exe v 0.6.9 để tự động loại trừ w9xpopen tôi đã phải thiết lập dll_excludes như một lựa chọn py2exe trong tệp setup.py của tôi. Dưới đây là một ví dụ cho "myapp.py":

from distutils.core import setup 
import py2exe, sys, os 

sys.argv.append('py2exe') 

setup( 
    name = "...", 
    version = '1.0', 
    description = "...", 
    author = "...", 
    windows = [{'script': 'myapp.py', 
       'icon_resources': [(1, 'myapp.ico')] 
       }], 
    zipfile = None, 
    data_files=[], 
    options = { 
     'py2exe': { 
      'optimize':2, 
      'bundle_files': 2, 
      'compressed': True, 
      'excludes':[], 
      'dll_excludes':['w9xpopen.exe'] 
      } 
     } 
) 

Đối sans ứng dụng đang chạy gui, bạn có thể sử dụng console=[...] thay vì windows=[...].

Các vấn đề liên quan