Я хотел бы распространить git-репозиторий с моей программой, состоящий из этих файлов: р>
Код: Выделить всё
requirements.txt
myprogram.py
lib/modulea.py
lib/moduleb.py
Я хочу иметь возможность запускать его с помощью #! shebang, чтобы /path/ to/myprogram.py и дважды щелкнув по нему из графического интерфейса файлового менеджера делает правильные вещи.
Я уже знаю, что могу создать обертку.sh или сделать умную строку shebang. Но я ищу лучший подход, поскольку я новичок в Python.
Подробнее
Я предполагаю, что пользователи будет
Код: Выделить всё
git clone $url workdir
cd workdir
python3 -m venv .
./bin/pip install -r requirements.txt
Код: Выделить всё
./myprogram.py
Код: Выделить всё
#!/home/peter/workdir/bin/python3
Это также работает в моя крошечная демонстрация, но очевидно, что она хрупкая и не лучшая практика, но она иллюстрирует то, что я пытаюсь сделать:
Код: Выделить всё
#!/usr/bin/env python3
import os
import sys
print(os.path.join(os.path.dirname(__file__), 'lib', 'python3.10', 'site-packages'))
Еще раз: после установки pip я категорически отказываюсь устанавливать любые переменные среды или вызывать какой-либо код установки в будущих оболочках перед запуском myprogram.py. (Если только это сильно не противоречит слову «идиоматика», что, я надеюсь, не так)...
Подробнее здесь: https://stackoverflow.com/questions/743 ... beforehand