Распространение программного обеспечения Python для Linux

Я пишу свое первое программное обеспечение на Python для Ubuntu (или Linux на базе Debian). Я ищу хороший совет о наилучшем способе распространения моего программного обеспечения.

Самая простая альтернатива, о которой я могу думать на данный момент, — это заархивировать код Python в *.tar.gz и позволить пользователю выполнить основной скрипт Python в качестве исполняемого файла для запуска программного обеспечения. Я понимаю, что это может быть не лучший подход.

Я посмотрел руководство для сопровождающего Debian: "http://www.debian.org/doc/maint-guide/ch-dother.en.html", звучит не слишком лениво, но руководство выглядит очень пугающим для новичка. Есть ли какой-нибудь другой учебник, показывающий, как создать пакет Debian для новичка?

Если у кого-то есть предложение, дайте мне знать. Спасибо ^_^


person zfranciscus    schedule 21.12.2010    source источник
comment
возможный дубликат Debian-упаковки пакета Python.   -  person Ignacio Vazquez-Abrams    schedule 22.12.2010
comment
Спасибо за комментарий. Эта ссылка действительно полезна   -  person zfranciscus    schedule 22.12.2010


Ответы (2)


Просто отправить им исходный код в архиве — это прекрасно. Вы также можете разместить его на http://pypi.python.org/pypi. Как еще вы думали? Есть много способов сделать это на самом деле. Jut источник раздачи, наверное, самый простой.

person Falmarri    schedule 21.12.2010
comment
Спасибо за ответ. Я привык загружать «установщик», который устанавливает приложение в ОС, или использовать программный центр Ubuntu для установки приложения. Хотя я с удовольствием распространяю исходники и пишу простую читалку, такой подход кажется «нетрадиционным». Но я очень доволен =) - person zfranciscus; 22.12.2010
comment
Кононический способ распространения приложения Python — через distutils или setuptools. Таким образом, вы можете просто установить его с помощью easy_install. В ссылке, которую я разместил, есть некоторая документация о том, как это сделать. - person Falmarri; 22.12.2010

Здесь. Это официальный, независимый от дистрибутива способ упаковки и распространения программы на Python. Используйте этот, вам все равно придется его выучить однажды.

Вот, вместо этого, дешевый и грязный хак:

  1. Сделать каталог /programname/;
  2. Поместите всю папку проекта в подкаталог /program/;
  3. Поместите файл programname.sh в папку /programname/;
  4. Пусть этот programname.sh вызовет ваши файлы Python.

Если вы хотите пойти по нестандартному пути, вы можете:

  1. Требовать, чтобы программа запускалась от имени root;
  2. Заставьте его создать сценарий оболочки в /usr/bin с именем ProgramName, который выполняет python /path/to/_main_.py
person cbrandolino    schedule 21.12.2010
comment
-1 за то, что скрипт bash запускает программу на python. Какой в ​​этом смысл? - person Falmarri; 22.12.2010
comment
Дело в том, что работа на неопытного пользователя - я думаю, что это тоже было в вопросе. Например: после распаковки .tar.gz пользователь видит один файл (в отличие от всего исходного кода) и папку; файл вызывается по имени программы (в отличие от main.py); в ubuntu после нажатия на него вас спросят, хотите ли вы его выполнить (в отличие от открытия в редакторе). Я думал, что вопросы спрашивающего пошли в этом направлении. - person cbrandolino; 22.12.2010
comment
Какие? Вы не можете запустить неисполняемый файл только потому, что он заканчивается на .sh. - person Falmarri; 22.12.2010
comment
Отредактировал предыдущий комментарий, не понял. Также хотел бы отметить, что я указал правильный метод распространения, прежде чем предлагать хак - это было просто безобидным решением для распространения вашей программы среди друзей без необходимости объяснять им, как ее использовать. - person cbrandolino; 22.12.2010
comment
Ubuntu попытается запустить main.py, если он также является исполняемым. Так же, как это откроет programname.sh в редакторе, если это не исполняемый файл. И у дистрибьютора нет абсолютно никакого контроля над этой настройкой. - person Falmarri; 22.12.2010
comment
Вы заметили остальную часть моего ответа/комментария? также нет, настройка по умолчанию для двойного щелчка по файлам .py, даже если они исполняемые, - это текстовый редактор. опять же, если проблема заключается в сценарии оболочки, то просто поместите еще один файл .py: я хотел, чтобы он достиг, чтобы у него был удобный именованный файл для запуска программы; не помещая пользователя в каталог с большим количеством файлов, заставляя его читать руководство, чтобы знать, что он должен открыть main.py. мне не кажется кощунственным. - person cbrandolino; 22.12.2010