2 回答

TA贡献1811条经验 获得超4个赞
您可以指定entry_pointsin setup.py,例如
setuptools.setup(
# ...
entry_points = {
'console_scripts': [
'boston_housing = boston-housing-main:main'
]
},
)
这将导致pip install在某个地方安装一个包装器/usr/local/bin/boston_housing,基本上拉入模块boston-housing-main并运行其main()功能。
您可能想scripts用这个替换条目,尽管您本身没有理由不能同时拥有两者。

TA贡献1817条经验 获得超14个赞
制作全局可访问的 Python 脚本的一种方法是让您的用户调用模块本身。如果您的包名为“boston-housing-prediction”,您的用户将能够使用以下命令从任何地方调用您的脚本:
python -m boston-housing-prediction
这样做是在你的包中调用一个__main__.py
文件。这就像任何其他 Python 脚本一样,因此它可以正常接受参数。您所要做的就是将您的脚本重命名为__main__.py
并将其放入包目录(不是包含 setup.py 的文件夹,而是放入包含包脚本的文件夹),或创建一个__main__.py
调用您的脚本的新脚本(您可以只导入脚本,如果它们在同一个文件夹中)。
这种方法的好处是它独立于平台,只依赖于包的正确安装。它根本不依赖操作系统。
添加回答
举报