Структура файла:
- MYTOOL.sh
- main.py
- setup.py
Моя цель - запустить MYTOOL.sh, когда пользователь наберет: $ MYTOOL
.
В моем файле setup.py
есть следующее:
class PostInstallCommand(install):
def run(self):
subprocess.call("echo source " + getSetuptoolsScriptDir() + "/MYTOOL.sh > /usr/local/bin/MYTOOL && chmod +x /usr/local/bin/MYTOOL", shell=True)
install.run(self)
def getSetuptoolsScriptDir():
dist = Distribution({'cmdclass': {'install': OnlyGetScriptPath}})
dist.dry_run = True
dist.parse_config_files()
command = dist.get_command_obj('install')
command.ensure_finalized()
command.run()
return dist.install_scripts
setuptools.setup(
# ... other settings ...
scripts=['MYTOOL.sh'],
cmdclass={
'install': PostInstallCommand,
}
)
MYTOOL.sh:
#!/bin/bash
PYTHON_VERSION=$(python -c 'import sys; print(".".join(map(str, sys.version_info[0:1])))')
if [ $PYTHON_VERSION -eq 3 ]
then
python main.py "$@"
else
python3 main.py "$@"
fi
PS:
Я нашел этот вопрос, но он кажется без ответа.