首页 > 解决方案 > 如何从 C:\Python37\Scripts 创建一个类似于 pip.exe、jupyter.exe 等的 .exe?

问题描述

为了使Windows 上的命令行可用pip或可用,无论当前工作目录仅使用or ,Windows 上的 Python 似乎都使用此方法:jupyterpip ...jupyter ...

然后无论当前目录如何,都可以在命令行中进行操作pip ...jupyter ...

问题:我怎样才能创建一个类似的 100KBmycommand.exe放在 PATH 中的目录中,以便我可以mycommand在命令行中的任何位置进行操作?


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

标签: pythonwindowspipexecutable

解决方案


假设您使用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

推荐阅读