Python distutils - alguém sabe como usá-lo?

votos
23

Eu escrevi um programa rápido em python para adicionar uma interface gráfica GTK para um programa de cli. Eu queria saber como eu posso criar um instalador usando distutils. Uma vez que é apenas uma interface gráfica para um aplicativo de linha de comando só funciona em * nix qualquer maneira por isso não estou preocupado com isso sendo multiplataforma.

meu objetivo principal é criar um pacote .deb para usuários de Debian / Ubuntu, mas eu não entendo fazer / configurar arquivos. Eu fui principalmente um desenvolvedor web até agora.

Obrigado pela ajuda!

editar : Alguém sabe de um projeto que usa distutils para que eu pudesse vê-lo em ação e, você sabe, realmente tentar construí-la?

Aqui estão alguns links úteis

  • Guia de Embalagem Ubuntu Python

    Este guia é muito útil. Eu não sei como eu perdi durante a minha onda inicial de gooling. Ele ainda percorre embalagem até uma aplicação python existente

  • O Projeto MOTU Ubuntu

    Este é o pacote oficial manter projeto no ubuntu. Qualquer um pode participar, e há muitos tutoriais e informações sobre a criação de pacotes, de todos os tipos, que incluem o 'guia embalagem python' acima.

  • Python distutils para deb? - discussão Ars Technica Forum

    De acordo com esta conversa, você não pode apenas usar distutils. Ele não segue o formato de empacotamento Debian (ou algo parecido). Eu acho que é por isso que você precisa dh_make como visto na guia de Embalagem Ubuntu

  • Um comando bdist_deb para distutils

    Este tem alguma discussão interessante (que é também a forma como eu encontrei o guia ubuntu) sobre concatenação de um arquivo zip e um shell script para criar algum tipo de executável universal (qualquer coisa com python e bash que é). esquisito. Deixe-me saber se alguém encontrar mais informações sobre esta prática, porque eu nunca ouvi falar dele.

  • Descrição do formato deb e como distutils se encaixam em - lista python

Publicado 27/08/2008 em 06:03
fonte usuário
Em outras línguas...                            


5 respostas

votos
13

Veja as distutils exemplo simples . Isso é basicamente o que é, exceto instalar verdadeira roteiros geralmente contêm um pouco mais informações. Eu não vi nenhum que são fundamentalmente mais complicado, no entanto. Em essência, você apenas dar-lhe uma lista do que precisa ser instalado. Às vezes você precisa dar-lhe algumas dicts mapeamento desde a fonte e árvores instalados pode não ser o mesmo.

Aqui está uma (anónimos) exemplo da vida real:

#!/usr/bin/python 

from distutils.core import setup 

setup (name = 'Initech Package 3', 
          description = "Services and libraries ABC, DEF", 
          author = "That Guy, Initech Ltd", 
          author_email = "that.guy@initech.com", 
          version = '1.0.5', 
          package_dir = {'Package3' : 'site-packages/Package3'}, 
          packages = ['Package3', 'Package3.Queries'], 
          data_files = [ 
                       ('/etc/Package3', ['etc/Package3/ExternalResources.conf']) 
          ])
Respondeu 27/08/2008 em 06:12
fonte usuário

votos
6

apt-get install python-stdeb

Python para utilitário de conversão pacote fonte Debian

Este pacote fornece algumas ferramentas para produzir pacotes Debian de pacotes Python através de um novo distutils comando, sdist_dsc. padrões automáticos são fornecidos para o pacote Debian, mas muitos aspectos do pacote resultante pode ser personalizado através de um arquivo de configuração.

  • pypi-instalar irá consultar o Python Package Index (PyPI) para um pacote, baixá-lo, criar um .deb a partir dele, e depois instalar o pacote .deb.
  • py2dsc irá converter um arquivo tar fonte distutils-construídos em um pacote fonte Debian.
Respondeu 17/01/2011 em 20:00
fonte usuário

votos
2

Eu encontrei o seguinte tutorial para ser muito útil. É menor do que a documentação distutils e explica como configurar um passo típico projeto a passo.

Respondeu 15/11/2010 em 22:57
fonte usuário

votos
2

A maioria dos programas em Python vai usar distutils. Django é um one - ver http://code.djangoproject.com/svn/django/trunk/setup.py

Você também deve ler a documentação , como é muito abrangente e tem alguns bons exemplos.

Respondeu 27/08/2008 em 11:04
fonte usuário

votos
1

distutils realmente não é tão difícil quando você pegar o jeito dele. É realmente apenas uma questão de colocar em algum meta-informação (nome do programa, autor, versão, etc) e, em seguida, selecionar quais arquivos você deseja incluir. Por exemplo, aqui está uma amostra distutils setup.py módulo de uma biblioteca python decentemente complexa:

Kamaelia setup.py

Note que este não lidar com quaisquer arquivos de dados ou ou outros enfeites, assim YMMV.

Em outra nota, eu concordo que a documentação distutils é provavelmente alguns dos piores documentação do python. É extremamente inclusive em algumas áreas, mas negligencia alguma informação realmente importante em outros.

Respondeu 27/08/2008 em 21:42
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more