You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

除PyInstaller外,如何制作可直接运行的Python原生可执行脚本?

无需Python前缀直接运行Python脚本的替代方法(除PyInstaller外)

下面是几种实用的方法,覆盖不同场景和平台:

  • Shebang头 + 执行权限(Unix/Linux/macOS)
    在Python脚本的第一行添加#!/usr/bin/env python3,然后用终端执行chmod +x your_script.py赋予执行权限,之后直接输入./your_script.py args就能运行。如果把脚本所在目录加到系统PATH里,甚至可以直接敲your_script.py args。
    Windows下可以写一个.cmd包装脚本,比如your_script.cmd,内容写:@python "%~dp0your_script.py" %*,双击或者在终端输入your_script.cmd args即可运行。

  • 用setuptools/poetry配置entry points
    这是Poetry这类工具自身实现命令行调用的核心方式。如果你的代码是一个Python包,在pyproject.toml(Poetry/PEP 621规范)里添加:

    [project.scripts]
    your_command = "your_package.module:main_function"
    

    或者用传统的setup.py:

    from setuptools import setup
    setup(
        # 其他配置...
        entry_points={
            'console_scripts': [
                'your_command = your_package.module:main_function',
            ]
        }
    )
    

    执行pip install .安装包后,系统里就会直接出现your_command命令,不管Windows还是Unix类系统都能直接调用,不需要加python前缀。

  • PyOxidizer打包
    PyOxidizer可以把Python解释器、你的脚本以及所有依赖打包成一个独立的原生可执行文件,生成的文件不需要系统预装Python。它会把代码嵌入到可执行文件里,运行时直接加载,支持多平台,适合需要分发独立程序的场景。

  • Nuitka编译
    Nuitka是把Python代码编译成C代码,再编译成原生可执行文件。它不仅能让脚本直接运行,还能提升运行速度,同时生成的文件也不需要依赖系统Python。使用起来也简单,安装后执行nuitka --standalone your_script.py就能生成可执行文件。

  • Shiv打包
    Shiv可以把脚本和依赖打包成一个单文件的可执行zip包,运行时会自动临时解压并执行。安装Shiv后,执行shiv -o your_script -e your_package.module:main .就能生成可执行文件,直接运行./your_script args即可,适合快速打包小型脚本。

内容的提问来源于stack exchange,提问作者Frederick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 21:22:11