Este é o comando dh_python2 que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
dh_python2 - calcula dependências Python, adiciona scripts de mantenedor para compilar bytes
arquivos, etc.
SINOPSE
dh_python2 -p PACKAGE [-V [XY] [-] [AB]] DIR_OR_FILE [-X REGEXPR]
DESCRIÇÃO
QUICK GUIA PARA MANUTENÇÃO
· Se necessário, descreva as versões Python suportadas por meio do campo X-Python-Version em
debian / control,
· Build-depender de python ou python-all ou python-all-dev (> = 2.6.6-3 ~),
· Construir módulo / aplicativo usando seu sistema de construção padrão, lembre-se de construir
extensões para todas as versões Python suportadas (loop over pyversões -vr),
· Instalar arquivos no padrão locais, adicionar --install-layout = deb para setup.py's
comando install se o seu pacote estiver usando distutils,
· adicionar python2 para dh's - com opção, ou:
· incluir /usr/share/cdbs/1/class/python-distutils.mk em debian / rules e dependem de
CDB (> = 0.4.90), ou:
· ligar dh_python2 no binário-* alvo,
· adicionar $ {python: Depends} Depende
NOTAS
Para oferecer suporte a mais de uma versão do Python no mesmo pacote binário, dh_python2
(ao contrário de dh_pycentral e dh_pysupport) cria links simbólicos para todas as versões Python com suporte
no momento da construção. Significa binNMU (ou upload original no caso de arquitetura independente
pacotes) é necessário quando uma lista de versões Python suportadas é alterada. É mais rápido e
mais robusto do que seus concorrentes, no entanto.
dependências
dh_python2 tenta traduzir dependências Python do arquivo requer.txt para Debian
dependências. Use debian / pydist-overrides ou a opção --no-guessing-deps para substituí-la se
a suposição está incorreta. Se você quiser que o dh_python2 gere dependências mais restritas (por exemplo,
para evitar problemas de ABI) crie o arquivo debian / python-foo.pydist. Ver
/usr/share/doc/python-doc/README.PyDist (fornecido pelo pacote python-doc) para mais
em formação. Se o arquivo pydist contiver sinalizador PEP386 ou conjunto de regras (semelhantes a uscan),
dh_python2 tornará a dependência versionada (os requisitos de versão são ignorados por
predefinição).
namespace integrado
dh_python2 analisa os arquivos namespace_packages.txt de Egg (além do comando --namespace
argumento (s) de linha) e descarta arquivos __init__.py vazios do pacote binário. pycompile vai
regenere-os no momento da instalação e o pyclean irá removê-los no momento da desinstalação (se eles estiverem
não mais usado em pacotes instalados). Ainda é uma boa ideia fornecer o arquivo __init__.py
em um dos pacotes binários (mesmo se todos os outros pacotes usarem esse recurso).
privado dirs
/ usr / share / foo, / usr / share / games / foo, / usr / lib / foo e / usr / lib / games / foo privado
diretórios são verificados em busca de arquivos Python por padrão (onde Foo é o nome do pacote binário). Se
seu pacote está enviando arquivos Python em algum outro diretório, adicione outra chamada dh_python2
no debian / rules com o nome do diretório como argumento - você pode usar diferentes conjuntos de opções
nesta chamada. Se você precisar alterar as opções (por exemplo, uma lista de versões Python suportadas) para
um diretório privado que é verificado por padrão, invoque dh_python2 com --skip-private
opção e adicionar outra chamada com um caminho para este diretório e novas opções.
depurar pacotes
Em pacotes binários cujo nome termina com -dbg, todos os arquivos em
/usr/lib/python2.X/{site,dist}-pacotes/ diretório que tem extensões diferentes de so
or h são removidos por padrão. Use a opção --no-dbg-cleaning para desabilitar este recurso.
pyinstall arquivos
Os arquivos listados no arquivo debian / pkg.pyinstall serão instalados como módulos públicos para todos
versões Python solicitadas (dh_install não sabe sobre os pacotes site- vs. dist-packages de python
emitir).
Sintaxe: caminho / para / arquivo [VERSION_RANGE] [NOMEESPAÇO]
O diretório debian é automaticamente removido do caminho, então você pode colocar seus arquivos em
diretório debian / e instale-os a partir deste local (se você quiser instalá-los em
namespace "debian", defina NAMESPACE como debian). Se NAMESPACE for definido, todos os arquivos listados irão
ser instalado no diretório ... / dist-packages / NAMESPACE /.
Exemplos:
· foo.py instala ... / dist-packages / foo.py para todas as versões Python suportadas
· foo / bar.py 2.6- instala ... / dist-packages / foo / bar.py para versões> = 2.6
· foo / bar.py Spam instala ... / dist-packages / spam / bar.py
· debian / *. py spam.egg 2.5 instala arquivos ... / python2.5 / site-packages / spam / egg / *. py
pirremove arquivos
Se você deseja remover alguns arquivos instalados pelo sistema de compilação (de todos os Python suportados
versões ou apenas de um subconjunto dessas versões), adicione-as ao arquivo debian / pkg.pyremove.
Exemplos:
· * .pth remove arquivos .pth de ... / dist-packages /
· bar / baz.py 2.5 remove ... / python2.5 / site-packages / bar / baz.py
predominante suportado / omissão Python versões
Se você deseja substituir a lista do sistema de versões Python suportadas ou a padrão
(por exemplo, para construir um pacote que inclui links simbólicos para versões anteriores do Python ou compilar .py
arquivos apenas para determinada versão do intérprete), você pode fazer isso via DEBPYTHON_SUPPORTED e / ou
DEBPYTHON_DEFAULT env. variáveis.
Exemplo: 2.5,2.7 limita a lista de versões Python com suporte para Python 2.5 e Python
2.7.
OPÇÕES
--versão
mostrar o número da versão do programa e sair
-h, --Socorro
mostrar mensagem de ajuda e sair
- no-guessing-versions
desabilitar a adivinhação de outras versões Python suportadas
- sem adivinhação-deps
desabilitar adivinhação de dependências
--no-dbg-limpeza
não remova nenhum arquivo dos pacotes de depuração
--no-shebang-reescrever
não reescrever shebangs
--skip-privado
não verifique diretórios privados
-v, --verbose
ligue o modo verboso
-i, --indep
atuar em pacotes independentes de arquitetura
-a, --arco
agir em pacotes dependentes de arquitetura
-q, --quieto
fique quieto
-p PACKAGE, --package =PACKAGE
agir no pacote denominado PACKAGE
-N NO_PACKAGE, --no-package =NO_PACKAGE
não atue no pacote especificado
-V VRANGE
especificar a lista de versões Python com suporte. Ver pycompilar(1) para exemplos
-X REGEX, --exclude =REGEX
excluir itens que correspondam a determinado REGEXPR. Você pode usar esta opção várias vezes para
construir uma lista de coisas a serem excluídas.
--compilar-tudo
compilar todos os arquivos de determinado diretório privado em postinst / rtupdate não apenas o
aqueles fornecidos pelo pacote (ou seja, não passe o parâmetro --package para
pycompile / pyclean)
--depends =DEPENDE
traduzir os requisitos fornecidos em dependências do Debian e adicioná-los ao
$ {python: Depends}. Use-o para itens ausentes em require.txt
--recommends =RECOMENDA
traduzir os requisitos fornecidos em dependências do Debian e adicioná-los ao
$ {python: Recomendações}
--suggests =SUGESTÕES
traduzir os requisitos fornecidos em dependências do Debian e adicioná-los ao
$ {python: sugere}
--namespace
use esta opção (várias vezes, se necessário) se namespace_packages.txt não for
completar
--ignore-namespace
ignorar a declaração de namespace de Egg e a opção --namespace. Esta opção irá desabilitar
removendo (e recriando no momento da instalação) arquivos __init__.py vazios. Removendo
namespace_packages.txt do diretório egg-info tem o mesmo efeito.
--clean-pycentral
gerar script de mantenedor que removerá o código de byte gerado por python-central
ajudante
--shebang =COMANDO
usar o comando dado como shebang em scripts
--ignore-shebangs
não traduza shebangs em dependências do Debian
Use dh_python2 online usando serviços onworks.net