我有一个包含多个文件的 python 项目和一个使用 argparse 解析参数的 cmd.py,在其他文件中有关键函数。我想做的是:我想这样做,如果在命令行中输入 cmd -p hello.txt
它会运行该 python 文件。
我想我可以简单地将 cmd.py 文件移动到 /usr/bin/
或 $PATH
中包含的其他目录,但是因为我有其他文件可以与我的 cmd.py
一起使用,所以我的 /usr/bin
中会有多个文件。
我可以做的另一件事是在 cmd.py
和 /usr/bin/cmd
之间建立符号链接(symbolic link),如下所示:ln -s/path/to/cmd.py/usr/bin/cmd
,但是我应该把 cmd.py 放在哪里?这是最佳实践吗?
注意:我打算让它在 Linux 和 MacOS X 上运行,而不是在 Windows 上运行
最佳答案
通常的做法是在 setup.py
中定义一组入口点,让打包基础设施为您完成繁重的工作。
setup(
# ...
entry_points = {
'console_scripts': ['cmd = cmd:main'],
}
)
这需要setuptools
。
这是该设施的一些文档:https://python-packaging.readthedocs.io/en/latest/command-line-scripts.html
关于python - 将 Python 项目变成命令行工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54683892/