py2exe可执行文件不使用sys.argv [x]

时间:2011-07-29 13:04:31

标签: python 32bit-64bit py2exe

我在python中编写了一个非常简单的代码,并使用py2exe生成了一个.exe。

我添加了导入,以查看导入这些模块是否存在问题。

import sys
import time, os, httplib2
from csv import writer, reader, DictWriter
from BeautifulSoup import BeautifulSoup

def main():
    print sys.argv[1]

if __name__ == '__main__':
    main()

当我将它作为.py文件运行时,效果很好。

  

C:\用户\使用者> C:\ Python27 \ LIB \站点包\ py2exe \样品\ sysargv \ module3.py   justChecking justChecking

但是当我运行可执行文件时py2exe生成它什么都不做 -

  

C:\ Users \ User> C:\ Python27 \ Lib \ site-packages \ py2exe \ samples \ sysargv \ dist \ module3.exe JustCheking

这是setup.py

的代码
from distutils.core import setup
import py2exe

setup(
    options = {'py2exe': {'bundle_files': 1}},
    windows = [{'script': "module3.py"}],
    zipfile = None,
)

我需要在我的程序中使用sys.argv(我从用户那里得到输入,比如输出目录,日志文件路径等)

如何在使用py2exe创建一个可执行文件时使用sys.argv?

另一个问题,如果我在win7 64位计算机上安装了python 2.7 32位(我已经安装了regular win' 2.7.2 msi file from python.org)并在该计算机上生成了一个可执行文件,我是否可以使用.exe在win7 \ xp 32位?

由于

1 个答案:

答案 0 :(得分:2)

我的猜测是你使用的是windows选项而不是console选项。这用于gui应用程序。如果gui选项有效,那么它可能会产生一个新的终端,一旦你的程序执行完毕就会立即关闭。

你应该能够在32位python的Windows 7上编译它,并在任何其他32位机器上使用它。