如何为python脚本创建别名,类似于黑色?

问题描述

我想知道如何创建一个入口点来调用python脚本,类似于black
例如:
black my_script.py

我有一个名为fix_newline.py的python文件

我不想在python fix_newline.py path/to/my_script.py目录中调用fix_newline.py,而是要为fix_newline分配名称python path/to/fix_newline.py

最终的目标是只要我处于相同的环境(例如fix_newline)中,就可以从目录树中的任何位置调用~/.bash_profile

解决方法

我相信我已经找到了一种方法,可以按照@Chris_Rands和@CharlesDuffy提供的link的建议,通过打包到PyPI来创建别名:

setup(
    ...,entry_points={"console_scripts": ["realpython=reader.__main__:main"]},)

entry_pointsetup函数中的setup.py kwarg应该是窍门。

,
  1. path/to添加到您的PATH变量.bash_profile中。 (如果您有很多脚本,请考虑将它们安装在~/bin/之类的固定位置,这样就不会在PATH上添加很多不必要的目录。

  2. 确保您的脚本可以执行并且具有适当的shebang。

  3. 从脚本名称中删除.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