簡體   English   中英

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

[英]How to create .exe using py2exe(or pyinstaller) on Ubuntu

鑒於:
- 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 <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


- 為ubuntu設置pyinstaller( https://github.com/pyinstaller/pyinstaller/wiki
- 運行“pyinstaller setup.py”(與“pyinstaller -w setup.py”相同)並在dist文件夾中獲取許多擴展名為.so的文件和一個沒有擴展名的“setup”文件

我究竟做錯了什么?
如何在Ubuntu下獲取.exe文件?
可能嗎?

PS:我讀過Python可執行文件:py2exe或PyInstaller? 我沒有找到答案。

一般來說,你不能在Ubuntu或Linux上使用py2exe。 你不能在Mac上使用它。 它是一個僅限Windows的實用程序! 您必須在Windows中使用它,無論是在Windows虛擬機還是實際的Windows機器中。

至於PyInstaller,請閱讀文檔:

我可以使用PyInstaller作為交叉編譯器嗎?

  • 我可以在Linux下運行時打包Windows二進制文件嗎?

    不,這不受支持。 請使用Wine,PyInstaller在Wine中運行良好。 您可能還想查看郵件列表中的此主題。 在1.4版本中,我們已經為此建立了一些支持,但它只顯示了一半。 它需要在另一個分區上安裝一些Windows系統,並且只適用於純Python程序。 只要你想要一個像樣的GUI(gtk,qt,wx),你無論如何都需要安裝Windows庫。 因此,使用Wine更容易。 - 來源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM