web-dev-qa-db-fra.com

Python - installer le script sur le système

comment créer un fichier setup.py pour mon propre script? Je dois rendre mon script global. (ajoutez-le à/usr/bin) afin que je puisse l'exécuter à partir de la console, tapez simplement: arguments scriptName. OS: Linux. EDIT: Maintenant mon script est installable, mais comment puis-je le rendre global? Pour que je puisse l'exécuter à partir de la console, il suffit de taper le nom.

35
Max Frai

EDIT: cette réponse concerne uniquement l'installation de scripts exécutables dans /usr/bin. Je suppose que vous avez des connaissances de base sur la façon dont setup.py les fichiers fonctionnent.

Créez votre script et placez-le dans votre projet comme ceci:

yourprojectdir/
    setup.py
    scripts/
        myscript.sh

Dans votre setup.py fichier faire ceci:

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

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

Tapez ensuite

python setup.py install

Fondamentalement, c'est tout. Il est possible que votre script n'atterrisse pas exactement dans /usr/bin, mais dans un autre répertoire. Si tel est le cas, saisissez

python setup.py install --help

et recherchez --install-scripts paramètre et amis.

39
Jasiu

Je sais que cette question est assez ancienne, mais juste au cas où, je posterais comment j'ai résolu le problème moi-même, qui voulait configurer un package pour PyPI, qui, lors de son installation avec pip, l'installerait en tant que package système, pas seulement pour Python.

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

Détails

3
Julen