写在前面
我在做一个python工具,想将它从linux迁移到win下。但是发现用py2exe装换为exe老出错。
后来干脆退一步,只要能再win下的python中可以跑,发现除了文件分隔符os.sep外,还有其他问题,比如里面有并行工具,用了模块fcntl,但是这个只在linux下有,win下没有这个模块。
1,安装py2exe
根据你安装的python的版本选择下载的文件
下载地址:http://prdownloads.sourceforge.net/py2exe
安装后的文件应该在你的python安装目录下的Lib\site-packages\py2exe
2,设置win7的环境变量
安装完以后,我的Python的安装路径是C:\Python27,要把这个路径追加到环境变量Path的值后面。环境变量的设置在我的电脑上右键->属性->系统设置->高级->环境变量
这样在dos中可以直接使用python
3,使用py2exe
我们先准备一个简单的python程序hello.py
# hello.py
def main():
print "Hello, World!"
s = raw_input("input:")
print s
s = raw_input("input:")
if __name__ == '__main__':
main()
然后为使用py2exe写一个脚本setup.py
# setup.py
from distutils.core import setup
import py2exe
setup(console=["hello.py"])
运行setup.py,记得要传一个参数给它,在dos下;
C:\Users\silverxinger>D:
D:\>cd D:\myapps\python\testpy2exe
D:\myapps\python\testpy2exe>python setup.py py2exe
py2exe会在当前目录下生成两个目录 build和dist
build里是一些py2exe运行时产生的中间文件,dist里有最终的可执行文件
library.zip
w9xpopen.exe
python23.dll
hello.exe
现在可以运行hello.exe了