鉴于:
– Ubuntu
– py2exe和pyinstaller
– 使用setup.py(或其他)的
Python脚本
from distutils.core import setup
import py2exe
import os
setup(
version = "1.0",
description = 'foo',
url = "",
name = "foo",
console=[{
"script":"main.py",
"dest_base":"foo",
}],
zipfile = "shared.dll",
options = {"py2exe":{
'bundle_files': 1,
'optimize': 2,
"dll_excludes": ['MSVCP90.dll', 'msvcr71.dll', "IPHLPAPI.DLL", "NSI.dll", "WINNSI.DLL", "WTSAPI32.dll"],
"includes": ["utils"]
}}
)
需要:
– 一个.exe文件,也许是一些.dll(我真的不知道)
我做的步骤:
– 设置pip3和python 3.4(https://askubuntu.com/questions/524399/issues-with-py2exe)
– 为ubuntu设置py2exe“pip3 install py2exe”
– 运行“python3.4 setup.py py2exe”并得到以下追溯:
Traceback (most recent call last):
File "setup.py", line 2, in
import py2exe
File "/usr/local/lib/python3.4/dist-packages/py2exe/__init__.py", line 9, in
patch_distutils()
File "/usr/local/lib/python3.4/dist-packages/py2exe/patch_distutils.py", line 68, in patch_distutils
from . import distutils_buildexe
File "/usr/local/lib/python3.4/dist-packages/py2exe/distutils_buildexe.py", line 91, in
from . import runtime
File "/usr/local/lib/python3.4/dist-packages/py2exe/runtime.py", line 3, in
from .dllfinder import Scanner, pydll
File "/usr/local/lib/python3.4/dist-packages/py2exe/dllfinder.py", line 5, in
from . import _wapi
File "/usr/local/lib/python3.4/dist-packages/py2exe/_wapi.py", line 4, in
_kernel32 = WinDLL("kernel32")
NameError: name 'WinDLL' is not defined
– 为ubuntu设置pyinstaller(https://github.com/pyinstaller/pyinstaller/wiki)
– 运行“pyinstaller setup.py”(与“pyinstaller -w setup.py”相同)并在dist文件夹中获取许多扩展名为.so的文件和一个没有扩展名的“setup”文件
我究竟做错了什么?
如何在Ubuntu下获取.exe文件?
可能吗?