Mat*_*ler 2 python pyinstaller
我试图按照本指南将简单的Hello World脚本转换为.exe文件.
我有一个带有AMD 64位处理器的Windows Vista
我已经安装了Python 2.6.5(Windows AMD64版本)
我已经设置了PATH(如果这是正确的话),所以命令行识别Python
我已经安装了UPX(似乎只有是Windows的32位版本)并按照说明将upx.exe的副本粘贴到Python26文件夹中.
我安装了Pywin(Windows AMD 64 Python 2.6版本)
我运行了Pyinstaller的Configure.py.它提供了一些错误消息但似乎完成了.我不知道这是不是导致问题的原因,所以以下是我运行时的说法:
C:\ Python26\Pyinstaller\branches\py26win> Configure.py
I:从C:\ Python26\Pyinstaller\branches\py26win\config.dat读取旧配置
I:计算EXE_dependencies
I:查找TCL/TK ...
I:分析C:\ Python26\DLLs_tkinter.pyd
W:无法获取文件的二进制依赖项:
W:C:\ Python26\DLLs_tkinter.pyd
W:Traceback(最近一次调用最后一次):
文件"C:\ Python26\Pyinstaller\branches\py26win\bindepend.py",第608行,在get Imports中
返回_getImports_pe(pth)文件"C:\ Python26\Pyinstaller\branches\py26win\bindepend.py",第275行,在_ge tImports_pe
importva中,importsz = datadirs [1] IndexError:列表索引超出范围I:分析C:\ Python26\DLLs_ctypes.pyd
W:无法获取文件的二进制依赖项:
W:C:\ Python26\DLLs_ctypes.pyd
W:Traceback(最近一次调用最后一次):
文件"C:\ Python26\Pyinstaller\branches\py26win\bindepend.py",线路608,在获取进口
返回_getImports_pe(PTH)
文件"C:\ Python26\Pyinstaller \分支\ py26win\bindepend.py",线路275,在_ge tImports_pe
importva,importsz = datadirs [1 ]
IndexError:列表索引超出范围I:分析C:\ Python26\DLLs\select.pyd
W:无法获取文件的二进制依赖项:
W:C:\ Python26\DLLs\select.pyd
W:Traceback(最近一次调用最后一次):
文件"C:\ Python26\Pyinstaller \分支机构\ py26win\bindepend.py",线路608,在获取进口
返回_getImports_pe(PTH)
文件"C:\ Python26\Pyinstaller \分支机构\ py26win\bindepend.py",线路275,在_ge tImports_pe
importva,importsz = datadirs [1]
IndexError:列表索引超出范围I:分析C:\ Python26\DLLs\unicodedata.pyd
W:无法获取文件的二进制依赖项:
W:C:\ Python26\DLLs\unicodedata.pyd
W:Traceback(最近一次调用最后一次):
文件"C:\ Python26\Pyinstaller\branches\py26win\bindepend.py",第608行,在get Imports中
返回_getImports_pe(pth)
文件"C:\ Python26\Pyinstaller\branches\py26win\bindepend.py",第275行,在_ge tImports_pe
importva,importsz = datadirs [1]
IndexError:列表索引超出范围I:分析C:\ Python26\DLLs\bz2.pyd
W:无法获取文件的二进制依赖项:
W:C:\ Python26\DLLs\bz2.pyd
W:Traceback(最近一次调用最后一次):
文件"C:\ Python26\Pyinstaller\branches\py26win\bindepend.py",第608行,在get Imports中
返回_getImports_pe(pth)
文件"C:\ Python26\Pyinstaller\branches\py26win\bindepend.py",第275行,在_ge tImports_pe
importva,importsz = datadirs [1]
IndexError:列表索引超出范围I:分析C:\ Python26\python.exe
I:C:\ Python26\python.exe的依赖程序集:
I:amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none
I:正在搜索程序集amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_没有...
我:发现清单C:\ WINDOWS\WinSxS文件\舱单\ amd64_microsoft.vc90.crt_1fc8b3b9a 1e18e3b_9.0.21022.8_none_750b37ff97f4f68b.manifest
我:在搜索文件MSVCR90.DLL
我:找到的文件C:\ WINDOWS\WinSxS文件\ amd64_microsoft. vc90.crt_1fc8b3b9a1e18e3b_9.0.21 022.8_none_750b37ff97f4f68b\msvcr90.dll
I:搜索文件msvcp90.dll
I:找到文件C:\ Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21 022.8_none_750b37ff97f4f68b\msvcp90.dll
I:搜索文件msvcm90. DLL
我:找到的文件C:\ WINDOWS\WinSxS文件\ amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21 022.8_none_750b37ff97f4f68b\msvcm90.dll
我:添加Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest
我:添加Microsoft.VC90.CRT\msvcr90.dll
I:添加Microsoft.VC90.CRT\msvcp90.dll
I:添加Microsoft.VC90.C RT\msvcm90.dll
W:无法获取文件的二进制依赖项:
W:C:\ Python26\python.exe
W:Traceback(最近一次调用最后一次):
文件"C:\ Python26\Pyinstaller\branches\py26win\bindepend.py ",第608行,在get Imports中
返回_getImports_pe(pth)
文件"C:\ Python26\Pyinstaller\branches\py26win\bindepend.py",第275行,在_ge tImports_pe
importva中,importsz = datadirs [1]
IndexError:list index out范围我:分析C:\ Windows\WinSxS\Manifests\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e 3b_9.0.21022.8_none_750b37ff97f4f68b.manifest
I:分析C:\ Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.210 22.8_none_750b37ff97f4f68b\msvcr90.dll
W:不能得到二进制依赖文件:
宽:C:\ WINDOWS\WinSxS文件\ amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_ 750b37ff97f4f68b\MSVCR90.DLL
宽:回溯(最近通话最后一个):
文件"C:\ Python26\Pyinstaller \分支机构\ py26win\bindepend.py",第608行,在get Imports中
返回_getImports_pe(pth)
文件"C:\ Python26\Pyinstaller\branches\py26win\bindepend.py",第275行,在_ge tImports_pe
importva中,importsz = datadirs [1]
IndexError:列表索引超出范围I:分析C:\ Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.210 22.8_none_750b37ff97f4f68b\msvcp90.dll
W:无法获取文件的二进制依赖项:
W:C:\ Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_ 750b37ff97f4f68b\msvcp90.dll
宽:回溯(最近通话最后一个):
文件"C:\ Python26\Pyinstaller \分支机构\ py26win\bindepend.py",线路608,在获取进口
返回_getImports_pe(PTH)
文件"C:\ Python26\Pyinstaller\branches\py26win\bindepend.py",第275行,在_ge tImports_pe
importva中,importsz = datadirs [1]
IndexError:列表索引超出范围I:分析C:\ Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.210 22.8_none_750b37ff97f4f68b\msvcm90.dll
W:无法获取文件的二进制依赖项:
W:C:\ Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_ 750b37ff97f4f68b\msvcm90.dll
W:回溯(最近一次调用最后一次):
文件"C:\ Python26\Pyinstaller\branches\py26win\bindepend.py",第608行,在get Imports中
返回_getImports_pe(pth)
文件"C:\ Python26\Pyinstaller\branches\py26win\bindepend.py",第275行,在_ge tImports_pe
importva中,importsz = datadirs [1]
IndexError:列表索引超出范围我:找不到TCL/TK
I:测试Zlib ...
我:... Zlib可用
I:测试设置图标,版本资源的能力......
我:...资源更新可用
I:测试Unicode支持...
我:... Unicode可用
I:测试UPX ...
我:... UPX可用
I:计算PYZ依赖...
我:完成生成C:\ Python26\Pyinstaller\branches\py26win\config .DAT
我的Python脚本(名为Hello.py)与示例相同:
#!/usr/bin/env python
for i in xrange(10000):
print "Hello, World!"
Run Code Online (Sandbox Code Playgroud)
这是我的BAT文件,位于同一目录中:
设置PIP = C:\ Python26\Pyinstaller\branches\py26win\
python%PIP%Makespec.py --onefile --console --upx --tk Hello.py
python%PIP%Build.py Hello.spec
当我在命令提示符下运行Hello.bat时,会生成几个文件,其中没有一个是.exe文件,并显示以下内容:
C:\ My Files>设置PIP = C:\ Python26\Pyinstaller\branches\py26win \
C:\ My Files> python C:\ Python26\Pyinstaller\branches\py26win\Makespec.py --onefil e --console --upx --tk Hello.py写了C:\ My Files\Hello.spec现在运行Build .py来构建可执行文件
C:\ My Files> python C:\ Python26\Pyinstaller\branches\py26win\Build.py Hello.spec
I:C:\ Python26\python.exe的依赖程序集:I:amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none Traceback(最近一次调用最后一次):文件"C:\ Python26\Pyinstaller\branches\py26win\Build.py" ,行1359,在main(args [0],configfilename = opts.configfile)
文件"C:\ Python26\Pyinstaller\branches\py26win\Build.py",第1337行,在主构建(specfile)
文件"C:\ Python26\Pyinstaller\branches\py26win\Build.py",第1297行,在build execfile(spec)
文件"Hello.spec",第3行,在
pathex中= ['C:\ My Files'])
文件"C:\ Python26\Pyinstaller\branches\py26win\Build.py",第292行,在__init_ _
raise ValueError,"脚本'%s'未找到"%script
ValueError:script'C:\ Python26\Pyinstaller\branches\py26win\support\useTK.py'找不到
我在命令提示符方面的知识有限,所以如果我需要在那里做点什么,请带我一步.
Windows下的pyinstaller不支持64位Python.但是,在64位环境下使用32位Python通常没有任何缺点,因此最简单的选择是安装和使用它.它还有一个额外的好处,即pyinstaller生成的可执行文件可以在32位和64位Windows下运行.
| 归档时间: |
|
| 查看次数: |
3131 次 |
| 最近记录: |