是否可以像脚本一样直接执行python包(没有“python -m ...”)?

是否可以像脚本一样直接执行python包(没有“python -m ...”)?

对于单文件脚本,我总是可以直接执行它们,至少在 Linux 上,通过在脚本上设置可执行权限并#! /bin/python在文件顶部添加 shebang ( ) 来执行。

对于包来说,是否可以进行等效操作,这样我就不需要python -m some_package在命令行上为包名称添加前缀?

更新:我知道有一些解决方法,例如将其包装在脚本中。这不仅并不总是实用,而且我的问题不是要找到任何方法来做到这一点,而是要了解直接运行“some_script.py”的“官方”模拟是什么,但对于包来说,假设这样的模拟甚至根本存在或者根本没有意图或没有在任何地方定义。

答案1

只需将其封装在bash脚本中:

#!/bin/bash
python -m some_package your_script

将以上内容存储在您的$PATH( ~/bin) 中,调用它foo,使其可执行 ( chmod u+x ~/bin/foo),然后将其调用为foo.

相关内容