Как мне упаковать приложение python для ppa?

Я планирую упаковать FBuntu в PPA для более легкого распространения.

Природа этого приложения заключается в том, что пользователь должен внести определенные изменения в файл auth.py, чтобы он работал, и, следовательно, я застрял в дальнейшей работе.

Первая пара строк auth.py по умолчанию выглядит следующим образом:

import facebook

class facebookAuthentication:
    def __init__(self):
        url = "https://..."
        self.parse_url(url)

Пользователь, после отделения FBuntu от базара, должен вручную редактировать URL-адрес с той, которую вы получаете после проверка подлинности с помощью Facebook. Я понятия не имею, как заставить приложение редактироваться после создания пакета deb.

Любое руководство о том, как приступить к упаковке это было бы приветствоваться.

5
задан 26 May 2012 в 12:52

2 ответа

Из-за вашего «очень специфического URL», который я собираю использовать gwibber, это не вариант.

Я поддерживаю пару-летнее приложение на Python, изначально поставленное вместе с Quickly. Даже если вы не хотите использовать Quickly для сборки приложения, Quickly использует модифицированный файл setup.py для изменения очень маленького модуля Python. Как приложение. встроенный файл setup.py вызывается из последовательности make (обычно), и изменение в setup.py меняет одну небольшую, но важную деталь, касающуюся того, была ли установлена ​​программа или она тестируется Я полагаю, вы могли бы использовать тот же подход, чтобы изменить различные виды деталей.

Тем не менее, оставить приложение обобщенным и прочитать его файл конфигурации (предпочтения) было бы стандартным способом настройки работы программы, если это вообще возможно. Так что, если вы можете использовать предложение Andrewsomething, я думаю, что было бы лучше.

0
ответ дан 26 May 2012 в 12:52

Я не уверен, что этот вопрос имеет отношение к упаковке. Пользователям не нужно редактировать файлы python напрямую, и, конечно же, для этого нужно иметь права root. Что вам действительно нужно, так это правильный файл conf, установленный в домашний каталог пользователей. Нечто подобное:

import os
import ConfigParser

try:
    import xdg.BaseDirectory
except ImportError:
    home = os.environ.get('HOME')
    xdg_config_home = os.path.join(home, '.config/')
else:
    xdg_config_home = xdg.BaseDirectory.xdg_config_home

confDir =  os.path.join(xdg_config_home, 'myApp')
confFile =  os.path.join(confDir, 'conf.ini')

config = ConfigParser.ConfigParser()

if os.path.isfile(confFile):
    config.read(confFile)
    print "The URL is " + config.get('Section', 'url')
else:
    print "URL not set. Please edit " + confFile
    if not os.path.exists(confDir):
        os.makedirs(confDir)
    config.add_section('Section')
    config.set('Section', 'url', ' ')
    with open(confFile, 'wb') as confFile:
        config.write(confFile)

Конечно, если это приложение с графическим интерфейсом, это все еще немного для пользователя. Возможно, вы захотите реализовать окно настроек.

0
ответ дан 26 May 2012 в 12:52

Другие вопросы по тегам:

Похожие вопросы: