python - 如何从 C:\Python37\Scripts 创建一个类似于 pip.exe、jupyter.exe 等的 .exe?
问题描述
为了使Windows 上的命令行可用pip
或可用,无论当前工作目录仅使用or ,Windows 上的 Python 似乎都使用此方法:jupyter
pip ...
jupyter ...
- 放入
C:\Python37\Scripts
PATH - 创建一个 100KB 的小 .exe 文件,
C:\Python37\Scripts\pip.exe
或者jupyter.exe
这可能只是用解释器调用 Python 脚本(我猜?)
然后无论当前目录如何,都可以在命令行中进行操作pip ...
。jupyter ...
问题:我怎样才能创建一个类似的 100KBmycommand.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
推荐阅读
- javascript - 即使电话号码正确,asp.net 中的正则表达式验证也会显示错误消息
- c - CMake:如何对多个文件运行自定义命令以生成源文件?
- python - 如何将文件名存储在 sqlite 中的图像动态插入到烧瓶服务的表中?
- python - 读取和更新 XML 中的字母数字值并生成新的 output.xml 文件时出现问题
- python - 如何将绑定卷作为参数传递 Docker
- python - “需要 ZIP64 扩展”)LargeZipFile:文件大小需要 ZIP64 扩展
- html - html按钮组下拉菜单不适用于引导程序
- html - Why color is not getting applied to my bootstrap html
- rules - 有没有办法在 ODM 8.10 中获取决策表的触发行?
- php - PHP file_get_contents 在大约 1 分钟内更改时发送到同一端口