Какие скрипты попали бы в папку bin пакета Python? - программирование
Подтвердить что ты не робот

Какие скрипты попали бы в папку bin пакета Python?

Я изучаю Python Packages из Learn Python Hard Way и одно из упражнений, которое он говорит:

Поместите script в каталог bin, который вы можете запустить

Мне кажется, что это расплывчато. Я не совсем уверен, какие сценарии попадут в папку bin. Автостопом по упаковке говорит

вставьте в bin все написанные вами скрипты, которые используют ваш пакет, и которые, по вашему мнению, будут полезны для ваших пользователей. Если у вас их нет, удалите каталог bin.

Но я все еще не задавался вопросом, что там будет за script. Итак, я знаю, что это может показаться глупым вопросом, но может ли кто-нибудь дать мне пример того, когда, и почему можно было бы поставить "a script" в папку своего пакета bin?

4b9b3361

Ответ 2

Я только недавно прошел через Ex46 в LPTHW. Как и вы, я был смущен сценариями. В случае, если другой ответ был слишком продвинутым для вас, я в итоге просто вложил простой "мир привет" script:

#!/usr/bin/env python

from test3 import printstring
printstring.printstring("test script working")
print "test over"

Я назвал этот файл testscript3.py(* Примечание. Позже я узнал, что было бы удобнее оставить расширение .py файла, если оно было настоящим script, который я хотел бы представить как системную команду)

Мой файл test3.py был примерно таким:

def printstring(s='you did not provide string'):
    print s

Вот некоторые новички, которые я узнал, пытаясь заставить этот процесс работать:

  • #! символ иногда произносится как shebang, и простое объяснение состоит в том, что команда на этой строке сообщает оболочке использовать python для запуска script. Если вы не укажете расширение ".py", то пользователю script не нужно заботиться о том, какой интерпретатор необходим для запуска script. См. статья wikipedia shebang.

  • Я выполнил следующую команду, чтобы упаковать дистрибутив:

    python setup.py sdist

  • После этого мне удалось установить пакет и script, запустив

    sudo pip install test3-0.1.tar.gz

  • Одна вещь, о которой я беспокоился, - это права на файл script. Тем не менее, я заметил, что distutils позаботился об этом при упаковке (измененный режим до 755 или любой другой).

Вы можете найти мой весь проект для этого примера в github.