Сценарии оболочки можно связать в дистрибутив, добавив их в список scripts
, как если бы они были сценариями Python.Пример:
# bash_scripts/spam.sh
#!/usr/bin/env bash
echo Running "$0"
Простой сценарий установки для упаковки spam.sh
:
# setup.py
from setuptools import setup
setup(
name='spam',
scripts=['bash_scripts/spam.sh']
)
Построение как исходного, так и двоичного дисков включает в себя spam.sh
:
$ python setup.py bdist_wheel | grep spam.sh
copying bash_scripts/spam.sh -> build/scripts-3.6
copying build/scripts-3.6/spam.sh -> build/bdist.linux-aarch64/wheel/spam-0.0.0.data/scripts
changing mode of build/bdist.linux-aarch64/wheel/spam-0.0.0.data/scripts/spam.sh to 755
adding 'spam-0.0.0.data/scripts/spam.sh'
$ python setup.py sdist | grep spam.sh
copying bash_scripts/spam.sh -> spam-0.0.0/bash_scripts
После установки проверьте, включен ли сценарий оболочки:
$ pip install dist/spam-0.0.0.tar.gz
...
$ pip show -f spam
Name: spam
Version: 0.0.0
Summary: UNKNOWN
Home-page: UNKNOWN
Author: UNKNOWN
Author-email: UNKNOWN
License: UNKNOWN
Location: /data/gentoo64/home/u0_a82/.local/lib64/python3.6/site-packages
Requires:
Files:
<b>../../../bin/spam.sh</b>
spam-0.0.0.dist-info/DESCRIPTION.rst
spam-0.0.0.dist-info/INSTALLER
spam-0.0.0.dist-info/METADATA
spam-0.0.0.dist-info/RECORD
spam-0.0.0.dist-info/WHEEL
spam-0.0.0.dist-info/metadata.json
spam-0.0.0.dist-info/top_level.txt