0

我需要将 python 模块作为简单的 Linux 命令运行,而不用担心文件的位置。我可以用 Distutils 做吗?

具体到我需要什么。用户应该进行简单的安装并能够使用它:

python setup.py install
mymodule --arg value

怎么做?

4

2 回答 2

0

如果您在 中指定脚本列表setup(),distutils 将自动将它们安装到适当的目录中:

from distutils.core import setup

setup(
    name='somemodule',
    scripts=['mymodule']
)

请注意,mymodule对于您的示例,此处需要是具有该名称的可运行 python 脚本;它可能不应该是您的实际模块,而是在必要时导入您的模块。

于 2013-01-31T11:26:52.390 回答
0

如果您希望能够通过仅指定其名称来运行命令,则需要将其安装在PATH环境变量中列出的目录中。对于用户程序,通常的位置是/bin, /usr/bin/usr/local/bin也很常见)。

因此,设置您的软件包以将您的脚本安装在这些位置之一。但是,这将需要root特权。

如果您希望能够在没有root特权的情况下进行安装,另一种方法是确保脚本的目录在PATH变量中列出。

于 2013-01-31T11:17:51.833 回答