Estou tentando instalar o PIL um módulo python no ubuntu
Primeiro, preciso instalar um pacote chamado python-imaging usando o seguinte comando
sudo apt-get build-dep python-imaging
Quando tento fazer isso, recebo o erro
E: You must put some 'source' URIs in your sources.list
Eu vi essa pergunta que mostra como corrigir através da GUI, mas estou usando a linha de comando. Alguém sabe como posso corrigir esse erro ..?
ATUALIZAÇÃO: Com base nas respostas abaixo, atualizei minha lista de pacotes, mas agora recebo esse erro. Não tenho certeza se está relacionado, caso contrário, vou iniciar uma nova pergunta, pois não consigo encontrar referência ao erro em nenhum lugar.
E: Build-Depends dependency for python-imaging cannot be satisfied because candidate version of package python-all-dev can't satisfy version requirements
Respostas:
software-properties-gtk
opção "Código fonte"Eu recomendo isso para a área de trabalho:
depois, na guia "Ubuntu Software", clique em "Código fonte":
Isso adicionou algumas
deb-src
linhas abaixo/etc/apt/sources.list
, e agora eu posso fazersudo apt-get build-dep <package>
.Como não encontrei um método CLI limpo, criei um relatório de erro para ele: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1802718
Testado no Ubuntu 16.04 a 18.04.
Método CLI
Eu recomendo isso para imagens do Docker:
Testado na imagem do Ubuntu 18.04 Docker. Após essa alteração, posso fazer com êxito, por exemplo:
e antes da alteração, falhava com o erro:
Mencionado anteriormente em: https://askubuntu.com/a/1011675/52975 vá e faça o upvote dessa resposta.
Observe, no entanto, que o
/etc/apt/sources.list
arquivo contém linhas como:o que significa que as opções acima
sed
permitiriam fontes, mas não fontes, para alguns tipos de repositórios. Eu não acho que isso importe muito embora.fonte
Você pode editar a lista de fontes (
/etc/apt/sources.list
) diretamente. Eu acho que você precisa adicionar / descomentar estas linhas:Eu resolvi isso desativando a opção de código-fonte e salvando uma cópia do arquivo sources.list, ativando a opção de código-fonte, salvando outra cópia e executando as
diff
duas.Você pode alterar o prefixo
http://gb.
para o prefixo das outras fontes da sua lista (para que ele use o espelho de repo mais próximo) e também pode ignorar o#Added by software-properties
.Após a edição
sources.list
, executesudo apt-get update
antes de tentar instalar novamente.A íntegra
diff
pode ser encontrada aquiOutra maneira é gerar um novo. Um método para obter uma lista completa de sources.list é usar este site: https://repogen.simplylinux.ch/
fonte
$ sudo apt update
Editar
/etc/apt/sources.list
Em seguida, remova
#
ou adicione linhas comdeb-src $url
, por exemplo:Ou copie das linhas existentes, por exemplo
Então corra:
Veja https://help.ubuntu.com/community/Repositories/CommandLine para obter informações adicionais.
fonte
sudo apt-get update
após editar osources.list
arquivoAqui está a solução da linha de comando
saída típica de cmd acima
se você é bom alterando as linhas acima, o que sempre acontece em uma nova instalação do ubuntu, emita:
que faz um backup do arquivo de entrada e, em seguida, procura pelo deb-src comentado, onde ele remove o comentário para tornar essas linhas ativas ... após a atualização dos metadados locais, sua máquina fica ciente das novas categorias de pacotes do ubuntu
Agora, emita novamente o comando original que falhou com:
fonte
-i~orig
com o sed para que o sed faça o backup.Para o Ubuntu 16.04, fiz essas atualizações com sucesso no sources.list:
fonte
No Linux Mint (eu estou na versão 18), você pode ir para Fontes de software (procurá-lo no menu Iniciar ou abri-lo em um terminal com
software-sources
). Lá, na primeira guia, você encontrará uma caixa de seleção Ativar repositórios de código-fonte . Se você habilitar isso, o programa colocará as linhas corretas no seu/etc/apt/sources.list.d/official-source-repositories.list
arquivo. Só não se esqueça desudo apt-get update
(ou clique em Atualizar o cache nas fontes de software) depois disso.fonte