Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Ubuntu上使用py2exe(或pyinstaller)创建.exe_Python_Windows_Ubuntu_Py2exe_Pyinstaller - Fatal编程技术网

Python 如何在Ubuntu上使用py2exe(或pyinstaller)创建.exe

Python 如何在Ubuntu上使用py2exe(或pyinstaller)创建.exe,python,windows,ubuntu,py2exe,pyinstaller,Python,Windows,Ubuntu,Py2exe,Pyinstaller,给定: -Ubuntu -py2exe和pyinstaller -带有setup.py(或其他)的Python脚本 需要: -一个.exe文件和一些.dll(我真的不知道) 我所做的步骤: -设置pip3和python 3.4() -为ubuntu安装py2exe“pip3安装py2exe” -运行“python3.4 setup.py py2exe”并得到以下回溯: Traceback (most recent call last): File "setup.py", line 2, in

给定:
-Ubuntu
-py2exe和pyinstaller -带有setup.py(或其他)的Python脚本

需要:
-一个.exe文件和一些.dll(我真的不知道)

我所做的步骤:
-设置pip3和python 3.4()
-为ubuntu安装py2exe“pip3安装py2exe”
-运行“python3.4 setup.py py2exe”并得到以下回溯:

Traceback (most recent call last):
  File "setup.py", line 2, in <module>
    import py2exe
  File "/usr/local/lib/python3.4/dist-packages/py2exe/__init__.py", line 9, in <module>
    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 <module>
    from . import runtime
  File "/usr/local/lib/python3.4/dist-packages/py2exe/runtime.py", line 3, in <module>
    from .dllfinder import Scanner, pydll
  File "/usr/local/lib/python3.4/dist-packages/py2exe/dllfinder.py", line 5, in <module>
    from . import _wapi
  File "/usr/local/lib/python3.4/dist-packages/py2exe/_wapi.py", line 4, in <module>
    _kernel32 = WinDLL("kernel32")
NameError: name 'WinDLL' is not defined
回溯(最近一次呼叫最后一次):
文件“setup.py”,第2行,在
导入py2exe
文件“/usr/local/lib/python3.4/dist-packages/py2exe/_init__.py”,第9行,在
patch_distutils()
文件“/usr/local/lib/python3.4/dist packages/py2exe/patch\u distutils.py”,第68行,在patch\u distutils中
从…起导入distutils\u buildexe
文件“/usr/local/lib/python3.4/dist packages/py2exe/distutils_buildexe.py”,第91行,在
从…起导入运行时
文件“/usr/local/lib/python3.4/dist-packages/py2exe/runtime.py”,第3行,在
从.dllfinder导入扫描程序,pydll
文件“/usr/local/lib/python3.4/dist-packages/py2exe/dllfinder.py”,第5行,在
从…起进口瓦皮
文件“/usr/local/lib/python3.4/dist packages/py2exe/_wapi.py”,第4行,在
_kernel32=windell(“kernel32”)
NameError:未定义名称“Windell”

-为ubuntu安装pyinstaller()
-运行“pyinstaller setup.py”(与“pyinstaller-w setup.py”相同),并在dist文件夹中获得许多扩展名为.so的文件和一个不带扩展名的文件“setup”

我做错了什么?
如何在Ubuntu下获取.exe文件?
可能吗?


PS:我已经读过了,我没有找到答案。

一般来说,你不能在Ubuntu或Linux上使用py2exe。你也不能在Mac上使用它。它是一个仅限Windows的实用程序!您必须在Windows中使用它,无论是在Windows虚拟机中还是在实际的Windows计算机中

关于PyInstaller,请阅读以下文档:

我可以将PyInstaller用作交叉编译器吗?

  • 在Linux下运行时可以打包Windows二进制文件吗?

    不,这是不支持的。请用葡萄酒来做这个,用葡萄酒可以很好地喝。您可能还希望查看邮件列表中的此线程。在版本1.4中,我们为它内置了一些支持,但它只运行了一半。它需要在另一个分区上安装一些Windows系统,并且只适用于纯Python程序。只要您想要一个像样的GUI(gtk、qt、wx),您无论如何都需要安装Windows库。所以只用葡萄酒就容易多了


为什么要在Ubuntu上创建
.exe
文件?在Windows上这样做不是更好吗?我想在Ubuntu上创建.exe并在Windows机器上运行。是的,可以在Windows上创建它,但在我的情况下不行(请不要问我为什么)。如果我是你,我会使用虚拟机。如果这不是一个选项,请尝试在wine中安装windows python。如果你试图用任何其他方式去做,你会浪费很多时间。pyinstall faq说你应该用葡萄酒
Traceback (most recent call last):
  File "setup.py", line 2, in <module>
    import py2exe
  File "/usr/local/lib/python3.4/dist-packages/py2exe/__init__.py", line 9, in <module>
    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 <module>
    from . import runtime
  File "/usr/local/lib/python3.4/dist-packages/py2exe/runtime.py", line 3, in <module>
    from .dllfinder import Scanner, pydll
  File "/usr/local/lib/python3.4/dist-packages/py2exe/dllfinder.py", line 5, in <module>
    from . import _wapi
  File "/usr/local/lib/python3.4/dist-packages/py2exe/_wapi.py", line 4, in <module>
    _kernel32 = WinDLL("kernel32")
NameError: name 'WinDLL' is not defined