如何从 C:\Python37\Scripts 创建类似于 pip.exe、jupyter.exe 等的 .exe?

How to create a .exe similar to pip.exe, jupyter.exe, etc. from C:\Python37\Scripts?

为了使 pipjupyter 在 Windows 上的命令行可用 不管当前工作目录 只需 pip ... or jupyter ..., Python on Windows 好像是用这个方法:

然后在命令行中执行 pip ...jupyter ...,无论当前目录如何。

问题:我如何创建一个类似的 100KB mycommand.exe,我可以将其放入 PATH 中的目录中,以便我可以从任何地方执行 mycommand命令行?


注意:我不是谈论pyinstaller、cxfreeze等(我已经知道并且以前使用过);我不认为这些 C:\Python37\Scripts\ exe 文件使用这个。

假设您正在使用 setuptools 打包此应用程序,您需要创建一个 console_scripts 入口点 ,如此处所述:

对于单个 顶级模块,它可能如下所示:

setup.py

#!/usr/bin/env python3

import setuptools

setuptools.setup(
    py_modules=['my_top_level_module'],
    entry_points={
        'console_scripts': [
            'mycommand = my_top_level_module:my_main_function',
        ],
    },
    # ...
    name='MyProject',
    version='1.0.0',
)

my_top_level_module.py

#!/usr/bin/env python3

def my_main_function():
    print("Hi!")

if __name__ == '__main__':
    my_main_function()

然后使用如下命令安装:

path/to/pythonX.Y -m pip install path/to/MyProject