Python - 将脚本安装到系统

43 投票
2 回答
49726 浏览
提问于 2025-04-15 11:39

我该如何为自己的脚本创建一个setup.py文件呢?我想让我的脚本变得全局可用。也就是说,我希望能把它放到/usr/bin目录下,这样我就可以在终端里直接输入:scriptName 参数来运行它。操作系统是Linux。

编辑:现在我的脚本可以安装了,但我该如何让它全局可用呢?这样我就可以在终端里直接输入名字来运行它。

2 个回答

3

我知道这个问题已经有点久了,但我还是想分享一下我自己是怎么解决这个问题的。我想设置一个可以在PyPI上发布的包,这样当用pip安装的时候,它可以作为系统包安装,而不仅仅是Python包。

setup(
    # rest of setup
    console_scripts={
        'console_scripts': [
            '<app> = <package>.<app>:main'
        ]
    },
)

详细信息

45

编辑:这个回答主要讲的是如何把可执行的脚本安装到 /usr/bin 目录。我假设你对 setup.py 文件的基本用法有一些了解。

首先,创建你的脚本,并把它放在你的项目里,像这样:

yourprojectdir/
    setup.py
    scripts/
        myscript.sh

接下来,在你的 setup.py 文件中这样写:

from setuptools import setup
# you may need setuptools instead of distutils

setup(
    # basic stuff here
    scripts = [
        'scripts/myscript.sh'
    ]
)

然后输入

python setup.py install

基本上就是这样了。不过你的脚本可能不会正好放在 /usr/bin 里,而是放在其他地方。如果是这种情况,输入

python setup.py install --help

然后查找 --install-scripts 参数及相关内容。

撰写回答