我有一个类似这样的python代码
wallpaper/
setup.py
wallpaper/
__init__.py
environments.py
run.py
run.py有这样一个函数:
import environments
def main():
.. do something()
if __name__=='__main__':
main()
安装这个软件包后,我如何run.py在我的终端上执行www.example.com脚本。我知道这个问题以前有人问过,但我不满意这个答案,因为它没有给我任何见解。
2条答案
按热度按时间r6vfmomb1#
你想
这依赖于正确设置
PYTHONPATH
;你可能需要到重新启动你的终端如果这软件包是刚刚安装在一个新的目录.btxsgosb2#
要从命令行运行www.example.com文件中的main函数run.py,您需要在www.example.com文件中设置entry_points选项setup.py,这可以通过添加以下代码来完成:
这段代码创建了一个名为
youcmd
的可执行脚本,当从命令行调用wallpaper.run
模块时,该脚本将运行wallpaper.run
模块中的main函数。要运行此脚本,只需打开一个新终端并输入youcmd
。如果您不熟悉
entry_points
(请参阅this answer和本文档),这是一种定义命令的方法,可以在安装软件包后从命令行运行。通过指定entry_points并将“console_scripts”作为键,你可以创建可执行的脚本来运行你的包中的函数。如果您想让您的包易于从命令行访问,而用户不必手动导航到包目录并自己运行文件,则此选项非常有用。作为一个真实的例子,您可以 checkout 开源项目fast-entry_points的
setup.py
文件。