py2exe 使用的心得
想要在服务器上运行python的程序,还要搭环境,虽然搭环境不是很麻烦,但是比起来直接能运行还是比较麻烦的。百度了一下,基本上按照他们的方法就ok了。先去下载一个py2exe回来,直接安装。貌似现在只支持到python 2.6.6 ,其他版本不知道。最开始我装2.7.3的。安装的时候发现安装不了,一看才知道只能2.6版本的。不够仔细呀!先说下步骤吧。
1)直接安装python的目录下就行了,直接下一步,py2exe直接找到python2.6的目录
2)装完之后。在python的目录下新建一个setup.py的文件。代码如下:
1 from distutils.core import setup 2 import py2exe 3 4 setup(console=["path"]) # path是文件的路径,console也可以换成windows,如果你需要一个窗口界面的话
然后在cmd下运行就行了:python setup.py py2exe 就行了。
生成的文件就可以用了,跟cmd下是一样的。本来想用windows的,但是出现错误了!错误如下:
1 EOFError: EOF when reading a line
就是这么个错误。运行出错后会生成一个log文件,里面的内容就是这样的。主要是由于你用windows,因为程序代码中有 raw_input ( ) 这个函数。windows是不支持这个函数的。如果有这个函数的话,那就乖乖的用console吧。
今天传到服务起上了,发现运行不了,说什么应用程序配置不正确,需要重新安装。找了下度娘,说是没装vc2008+的库。找了几个解决办法。这个靠谱:
找了老半天不知道怎么发附件
新建一个Microsoft.VC90.CRT.manifest的文件:
<?xml version="1.0" encoding="UTF-8"
standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<noInheritable></noInheritable>
<assemblyIdentity type="win32"
name="Microsoft.VC90.CRT" version="9.0.21022.8"
processorArchitecture="x86"
publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
<file name="msvcr90.dll" />
</assembly>
下载一个 msvcr90.dll 版本号为9.0.21022.8
然后把这两个文件放到生成的那个文件里面。然后就ok了