在Windows 10上使用Nuitka将Python 3.6脚本编译为独立的exe
注意:
在将此问题标记为重复之前,请验证另一个问题是否回答了此设置的主题: >操作系统:Windows 10,64位 1.我如何构建我的exe 我将首先解释如何构建可执行文件.假设我有一个包含我想构建的简单python脚本的文件夹: buildscript.py看起来像这样: ##################################################### # NUITKA BUILD SCRIPT # ##################################################### # Author: Matic Kukovec # Date: April 2018 import os import platform NUITKA = "C:/Python36/Scripts/nuitka3-script.py" # Path where my nuitka3-script.py is CWD = os.getcwd().replace("","/") MSVC = "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build/vcvars64.bat" PYTHON_VERSION = "3.6" PYTHON_EXE_PATH= "C:/Python36/python.exe" NUMBER_OF_CORES_FOR_COMPILATION = 1 # 1 is the safest choice,but you can try more # Generate command command = '"{}" amd64 &'.format(MSVC) command += "{} ".format(PYTHON_EXE_PATH) command += "{} ".format(NUITKA) command += "--python-version={} ".format(PYTHON_VERSION) command += "--output-dir={}/output ".format(CWD) command += "--verbose " command += "--jobs={} ".format(NUMBER_OF_CORES_FOR_COMPILATION) command += "--show-scons " # command += "--windows-disable-console " # command += "--icon={}/myicon.ico ".format(CWD) command += "--standalone " # command += "--run " command += "{}/cubeimporter.py ".format(CWD) os.system(command) print("END") 2.构建结果 构建完成后,文件夹看起来像这样(见下图).如您所见,可执行文件旁边有许多其他文件.我可以看到.dll和.pyd文件. 3.期望的结果 我希望我只能构建一个独立的可执行文件.不需要DLL或其他文件.当我将可执行文件放在拇指驱动器上并将其粘贴到另一台计算机(运行Windows 10,64位)时,它应该可以工作.即使该计算机上没有安装Python. Nuitka有可能吗? 解决方法
比单个可执行文件更容易比Nuitka更简单. PyInstaller:
pyinstaller –onefile program.py(禁用GUI应用程序的控制台窗口添加-w选项). 要使用Nuitka创建单个可执行文件,可以从生成的文件创建SFX存档.您可以使用–standalone选项运行Nuitka,该选项会生成program_dist目录. 然后创建一个7-Zip SFX配置文件config.txt: ; @安装@ UTF-8! 然后从https://github.com/chrislake/7zsfxmm(从版本 – 7zsd_extra_171_3901.7z)获取7-Zip SFX并解压缩7zsd_All_x64.sfx文件. 然后将带有7-Zip的program_dist包装(因此该文件夹包含在存档中)到program.7z. 在Unix上,如果你创建一个tar存档并将它附加到一个shell脚本中,你可以自己创建一个SFX,它提取它并解压缩它,详见https://www.linuxjournal.com/node/1005818. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 敏捷/ XP估算
- windows – 使用ShellExecuteEx启动外部应用程序并等待它初
- 如何在脚本中禁用“Windows Genuine Advantage Notificatio
- active-directory – Windows 2008 R2上的FreeNAS和AD身份验
- .net – Windows Azure REST Api背后的技术是什么?
- Windows – 设置用户配置文件,文件夹重定向和脱机文件后损坏
- windows – 如何从PuTTY粘贴到Vim 8.0?
- 在Windows操作系统中使用基于Unix的命令与Anaconda
- windows-7 – 如何签署我的驱动,所以它会安装在Windows 7 6
- 如何在每个用户的安装程序中使用WiX安装程序将应用程序与现