Python setup.py desenvolvimento vs instalação
Duas opções em setup.py develop
e install
estão a confundir-me. De acordo com este site, usando develop
cria um link especial para o diretório de pacotes de sites.
as pessoas sugeriram que eu usasse python setup.py install
para uma nova instalação e python setup.py develop
Depois de quaisquer alterações terem sido feitas no ficheiro de configuração.
alguém pode esclarecer o uso destes comandos?
3 answers
python setup.py install
é usado para instalar (tipicamente terceiros) pacotes que você não vai estar desenvolvendo/editando/depurando você mesmo.
Para o seu próprio material, você deseja receber o seu pacote instalado e, em seguida, ser capaz de editar freqüentemente seu código e não ter que re-instalar o seu pacote-isso é exatamente o que python setup.py develop
faz: instala o pacote (normalmente apenas uma pasta de origem) de uma forma que permite que você convenientemente editar o seu código após o seu instalado para o (virtual) de ambiente e que as alterações entrem em vigor imediatamente.
Note que é altamente recomendado usar pip install .
(Instalação) e pip install -e .
(instalação de programadores) para instalar pacotes, como invocação setup.py diretamente fará as coisas erradas para muitas dependências, como puxar pré-versões e versões de pacotes incompatíveis e tornar o pacote difícil de desinstalar com o pip.
Da documentação . O develop
não irá instalar o pacote, mas irá criar um .egg-link
na pasta de implementação de volta para a pasta de código fonte do projecto.
Então é como instalar, mas em vez de copiar para o {[[2]} adiciona uma ligação simbólica (o .egg-link
actua como uma ligação simbólica multiplataforma).
Dessa forma, poderá editar o código-fonte e ver as alterações directamente sem que tenha de reinstalar sempre que fizer uma pequena alteração. Presente é útil quando você é o desenvolvedor desse projeto, daí o nome develop
. Se você está apenas instalando o pacote de outra pessoa que você deve usar install
Outra coisa que as pessoas podem achar útil ao usar o método develop
é a opção --user
para instalar sem o sudo. Ex:
python setup.py develop --user
Em vez de
sudo python setup.py develop