Posso instalar pacotes de canais específicos ao usar o PIP como é possível no Anaconda?

0

No Anaconda, há a opção de adicionar "canais" aos arquivos de configuração.

Cada pacote instalado com conda install ... procurará primeiro por pacotes nesses canais (como o canal intel , por exemplo).

Existe uma maneira de fazer o PIP também instalar a partir de canais específicos?

    
por Daniel Möller 08.05.2018 / 21:11

2 respostas

1

pip suporta a especificação de repositórios adicionais para procurar pacotes; eles se comportam de maneira semelhante aos canais em conda<4 . Exemplo:

$ pip install somepkg --extra-index-url http://myindex.org

Vários índices adicionais podem ser especificados em pip.conf :

[global]
extra-index-url=
    http://myindex.org
    http://other-index.org
    http://third-index.org

Quando um índice é fornecido por extra-index-url , pip sempre pesquisará o índice padrão no link , o índice extra e instalará o índice primeiro pacote correspondente. Substituir o link também é possível, via

$ pip install --index-url http://myindex.org

hospedando um índice local

Na verdade, é muito fácil hospedar um índice local se você precisar de um. Embora haja muitos servidores PyPI de terceiros disponíveis (para citar alguns: devpi , wheelhouse ou pypiserver ), você não precisa de nada além de uma instalação do Python para iniciar um. Crie um diretório com subdiretórios com o mesmo nome de pacotes e contendo os arquivos de instalação:

repo
└── MyPackage
     └── MyPackage.tar.gz

Navegue até o diretório e execute o servidor do stdlib:

$ cd repo/
$ python -m SimpleHTTPServer 9000

Agora você pode instalar os pacotes do seu repositório local:

$ pip install MyPackage --extra-index-url = http://127.0.0.1:9000/
    
por 09.05.2018 / 16:23
1

Se não me engano, acredito que pip não tenha "canais" da mesma forma que o Anaconda. Essencialmente, pip assume que, para instalações on-line simples (por exemplo, pip install package_name ), ele será extraído de PyPI .

Dito isso, independentemente, certamente é possível extrair de outras fontes (locais e remotas) - veja os guia oficial de pacotes de instalação do Python para alguns exemplos. As fontes suportadas podem incluir sistemas de controle de versão (VCSs), índices alternativos (ou seja, não PyPI), árvore src local e arquivos / rodas locais.

Mais documentação de suporte do VCS para Git, Mercurial, Subversion e Bazaar pode ser encontrada aqui .

    
por 09.05.2018 / 13:23