我想知道如何创建一个入口点来调用python脚本,类似于black
例如:black my_script.py
假设我有一个名为fix_newline.py
的python文件。
我不想调用fix_newline.py
目录中的python fix_newline.py path/to/my_script.py
,而是想将名称fix_newline
分配给python path/to/fix_newline.py
。
最终目标是从目录树中的任何位置调用fix_newline
,只要我在同一个环境中(例如~/.bash_profile
(。
我相信我找到了一种方法,可以按照@Chris_Rands的建议和@CharlesDuffy:提供的链接,通过打包到PyPI来创建别名
setup(
...,
entry_points={"console_scripts": ["realpython=reader.__main__:main"]},
)
CCD_ 12中的setup
函数中的CCD_。
-
将
path/to
添加到PATH
变量.bash_profile
中。(如果你有很多脚本,可以考虑将它们安装在像~/bin/
这样的固定位置,这样你就不会在PATH
中添加很多不必要的目录 -
确保您的脚本是可执行的,并且具有适当的shebang。
-
从脚本名称中删除
.py
。
您也可以为此使用Bash别名:https://tldp.org/LDP/abs/html/aliases.html
确保您在机器上使用python和fix_newline.py
的绝对路径:
alias fix_newline='/path/to/your/python /path/to/fix_newline.py'
然后你可以使用:
fix_newline file.txt
如果您希望此别名是永久性的,请确保将此配置放在~/.bashrc
文件中:https://tldp.org/LDP/abs/html/sample-bashrc.html