<legend id='wv5LP'><style id='wv5LP'><dir id='wv5LP'><q id='wv5LP'></q></dir></style></legend>
    1. <i id='wv5LP'><tr id='wv5LP'><dt id='wv5LP'><q id='wv5LP'><span id='wv5LP'><b id='wv5LP'><form id='wv5LP'><ins id='wv5LP'></ins><ul id='wv5LP'></ul><sub id='wv5LP'></sub></form><legend id='wv5LP'></legend><bdo id='wv5LP'><pre id='wv5LP'><center id='wv5LP'></center></pre></bdo></b><th id='wv5LP'></th></span></q></dt></tr></i><div id='wv5LP'><tfoot id='wv5LP'></tfoot><dl id='wv5LP'><fieldset id='wv5LP'></fieldset></dl></div>

    2. <small id='wv5LP'></small><noframes id='wv5LP'>

      <tfoot id='wv5LP'></tfoot>

      • <bdo id='wv5LP'></bdo><ul id='wv5LP'></ul>
      1. 在 Windows 10 上使用 Nuitka 将 Python 3.6 脚本编译为独立 exe

        Compile Python 3.6 script to standalone exe with Nuitka on Windows 10(在 Windows 10 上使用 Nuitka 将 Python 3.6 脚本编译为独立 exe)

        1. <small id='ipAHx'></small><noframes id='ipAHx'>

            • <bdo id='ipAHx'></bdo><ul id='ipAHx'></ul>
              <legend id='ipAHx'><style id='ipAHx'><dir id='ipAHx'><q id='ipAHx'></q></dir></style></legend>
              • <tfoot id='ipAHx'></tfoot>
                <i id='ipAHx'><tr id='ipAHx'><dt id='ipAHx'><q id='ipAHx'><span id='ipAHx'><b id='ipAHx'><form id='ipAHx'><ins id='ipAHx'></ins><ul id='ipAHx'></ul><sub id='ipAHx'></sub></form><legend id='ipAHx'></legend><bdo id='ipAHx'><pre id='ipAHx'><center id='ipAHx'></center></pre></bdo></b><th id='ipAHx'></th></span></q></dt></tr></i><div id='ipAHx'><tfoot id='ipAHx'></tfoot><dl id='ipAHx'><fieldset id='ipAHx'></fieldset></dl></div>
                    <tbody id='ipAHx'></tbody>

                  本文介绍了在 Windows 10 上使用 Nuitka 将 Python 3.6 脚本编译为独立 exe的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  注意:
                  在将此问题标记为重复之前,请验证其他问题是否回答了此设置的主题:

                  Note:
                  Before marking this question as duplicate, please verify that the other question answers the topic for this setup:

                  • 操作系统:Windows 10,64 位
                  • Python 版本:3.6 或更高版本
                  • Python 编译器:Nuitka,开发版本 0.5.30rc5
                  • MSVC 编译器:Visual Studio 2017 社区,vcvars64.bat

                   

                  我将首先解释如何构建我的可执行文件.假设我有一个文件夹,里面有一个我想要构建的简单 python 脚本:

                  I'll first explain how I build my executable. Suppose I have a folder with a simple python script that I want to build:

                  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")
                  

                   

                  构建完成后,文件夹如下所示(见下图).如您所见,可执行文件旁边还有许多其他文件.我可以看到 .dll.pyd 文件.

                  After the build finishes, the folder looks like this (see picture below). As you can see, there are plenty of other files sitting next to the executable. I can see .dll and .pyd files.

                   

                  我希望我可以只构建一个独立的可执行文件.不需要 dll 或其他文件.当我将可执行文件放在拇指驱动器上并将其粘贴到另一台计算机(运行 Windows 10、64 位)时,它应该可以正常工作.即使那台计算机上没有安装 Python.

                  I wish I could build just a standalone executable. No dll- or other files needed. When I put the executable on a thumb drive and stick it into another computer (running Windows 10, 64-bit), it should just work. Even if there is no Python installed on that computer.

                  Nuitka 可以做到这一点吗?
                  如果不是,是否可以使用另一个 Python 编译器?
                  请一一提供所有需要的步骤:-)

                  Is this possible with Nuitka?
                  If no, is it possible with another Python compiler?
                  Please provide all the steps needed, one-by-one :-)

                  推荐答案

                  单个可执行文件比 Nuitka 更容易,例如PyInstaller:pyinstaller --onefile program.py(要禁用 GUI 应用程序的控制台窗口,请添加 -w 选项.

                  Easier than Nuitka for a single executable is e.g. PyInstaller: pyinstaller --onefile program.py (to disable the console window for GUI applications add the -w option).

                  要使用 Nuitka 创建单个可执行文件,您可以从生成的文件创建 SFX 存档.您可以使用生成 program_dist 目录的 --standalone 选项运行 Nuitka.

                  To create a single executable with Nuitka, you can create a SFX archive from the generated files. You can run Nuitka with the --standalone option which generates a program_dist directory.

                  然后创建一个 7-Zip SFX 配置文件 config.txt:<代码>;!@Install@!UTF-8!GUIMode="2"ExecuteFile="%%T/program_dist/program.exe";!@InstallEnd@!

                  Create then a 7-Zip SFX config file config.txt: ;!@Install@!UTF-8! GUIMode="2" ExecuteFile="%%T/program_dist/program.exe" ;!@InstallEnd@!

                  然后从 https://github.com/chrislake/7zsfxmm 获取 7-Zip SFX (从版本 - 7zsd_extra_171_3901.7z)并解压 7zsd_All_x64.sfx 文件.

                  Then get the 7-Zip SFX from https://github.com/chrislake/7zsfxmm (from releases – 7zsd_extra_171_3901.7z) and unpack the 7zsd_All_x64.sfx file.

                  然后将 program_dist 与 7-Zip(因此该文件夹包含在存档中)打包到 program.7z.然后,可以使用 copy/b 7zsd_All_x64.sfx + config.txt + program.7z single_executable.exe 创建 SFX.

                  Pack then the program_dist with 7-Zip (so the folder is included in the archive) to program.7z. Then, an SFX can be created with copy /b 7zsd_All_x64.sfx + config.txt + program.7z single_executable.exe.

                  在 Unix 上,你也可以自己创建一个 SFX,如果你创建一个 tar 存档并将它附加到一个 shell 脚本中,它会提取并解压缩它,详情请参阅 https://www.linuxjournal.com/node/1005818.

                  On Unix, you can also create yourself an SFX if you create a tar archive and append it to a shell script which extract it and unpack it, for details see https://www.linuxjournal.com/node/1005818.

                  这篇关于在 Windows 10 上使用 Nuitka 将 Python 3.6 脚本编译为独立 exe的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Kivy 1.9.0 Windows package KeyError: #39;rthooks#39;(Kivy 1.9.0 Windows 包 KeyError: rthooks)
                  Python Kivy: how to call a function on button click?(Python Kivy:如何在按钮单击时调用函数?)
                  How to disable a widget in Kivy?(如何禁用 Kivy 中的小部件?)
                  Centering an object in Kivy(在 Kivy 中将对象居中)
                  How to downgrade to Python 3.4 from 3.5(如何从 Python 3.5 降级到 Python 3.4)
                  Change button or label text color in kivy(在kivy中更改按钮或标签文本颜色)

                    • <bdo id='GeOKh'></bdo><ul id='GeOKh'></ul>
                          <tbody id='GeOKh'></tbody>

                      1. <small id='GeOKh'></small><noframes id='GeOKh'>

                        <legend id='GeOKh'><style id='GeOKh'><dir id='GeOKh'><q id='GeOKh'></q></dir></style></legend>

                        <tfoot id='GeOKh'></tfoot>
                        • <i id='GeOKh'><tr id='GeOKh'><dt id='GeOKh'><q id='GeOKh'><span id='GeOKh'><b id='GeOKh'><form id='GeOKh'><ins id='GeOKh'></ins><ul id='GeOKh'></ul><sub id='GeOKh'></sub></form><legend id='GeOKh'></legend><bdo id='GeOKh'><pre id='GeOKh'><center id='GeOKh'></center></pre></bdo></b><th id='GeOKh'></th></span></q></dt></tr></i><div id='GeOKh'><tfoot id='GeOKh'></tfoot><dl id='GeOKh'><fieldset id='GeOKh'></fieldset></dl></div>