我需要将python模块作为简单的Linux命令运行,而不必担心文件的位置。我可以使用Distutils吗?
具体到我需要的东西。用户应该进行简单的安装并能够使用它:
python setup.py install
mymodule --arg value
怎么做?
答案 0 :(得分:0)
如果您希望能够通过仅指定其名称来运行该命令,则需要将其安装在PATH
环境变量中列出的目录中。对于用户程序,通常的位置为/bin
,/usr/bin
(/usr/local/bin
也很常见)。
因此,请设置程序包以在这些位置安装脚本。但是,这需要root
个权限。
如果您希望能够在没有root
权限的情况下安装,则可以选择确保脚本的目录列在PATH
变量中。
答案 1 :(得分:0)
如果您在setup()
中指定脚本列表,distutils会自动将它们安装到适当的目录中:
from distutils.core import setup
setup(
name='somemodule',
scripts=['mymodule']
)
请注意,此示例中的mymodule
将需要是具有该名称的可运行python脚本;它可能不应该是你的实际模块,而是在必要时导入你的模块。