Ошибка :: Вы должны поместить некоторые «исходные» URI в свои источники.list

49

Я пытаюсь установить PIL на модуль python на ubuntu

Сначала мне нужно установить пакет под названием python-imaging, используя следующую команду

sudo apt-get build-dep python-imaging

Когда я пытаюсь сделать это, я получаю сообщение об ошибке

E: You must put some 'source' URIs in your sources.list

Я видел этот вопрос, который показывает, как для исправления через графический интерфейс, но я использую командную строку. Кто-нибудь знает, как я могу исправить эту ошибку.?

UPDATE: Основываясь на приведенных ниже ответах, я обновил список пакетов, но теперь получаю эту ошибку. Не уверен, если это связано, если нет, я начну новый вопрос, поскольку я не могу найти ссылку на ошибку где угодно.

E: Build-Depends dependency for python-imaging cannot be satisfied because candidate version of package python-all-dev can't satisfy version requirements  
    
задан david 11.07.2014 в 18:35
источник

6 ответов

31

16.10 run software-properties-gtk

, затем на вкладке «Ubuntu Software» нажмите «Исходный код»:

Это добавило несколько deb-src строк под /etc/apt/sources.list , и теперь я могу сделать sudo apt-get build-dep <package> .

Я знаю, что вы не указали GUI, но иногда разработчики просто не поддерживают его должным образом ... но вы всегда можете сделать diff с этим методом и применить его позже.     

ответ дан Ciro Santilli 包子露宪 六四事件 法轮功 05.12.2016 в 22:16
29

Вы можете напрямую редактировать список источников ( /etc/apt/sources.list ). Я думаю, вам нужно добавить / раскомментировать эти строки:

deb-src http://archive.ubuntu.com/ubuntu trusty main restricted #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-updates restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse #Added by software-properties
deb-src http://security.ubuntu.com/ubuntu trusty-security restricted main universe multiverse #Added by software-properties
deb-src http://gb.archive.ubuntu.com/ubuntu/ trusty-proposed restricted main universe multiverse #Added by software-properties

Я справился с этим, отключив опцию исходного кода и сохранив одну копию файла sources.list, затем включив опцию исходного кода, сохранив другую копию, а затем запустив diff на обоих.

Вы можете изменить префикс http://gb. на префикс других источников в своем списке (поэтому он использует ваше ближайшее зеркало репо), и вы также можете игнорировать #Added by software-properties .

После редактирования sources.list запустите sudo apt-get update перед повторной установкой.

Полный diff можно найти здесь

Другой способ - создать новый. Один из способов получить полный источник.list - использовать этот сайт: Ссылка

    
ответ дан Wilf 11.07.2014 в 18:47
15

Изменить /etc/apt/sources.list

sudo nano /etc/apt/sources.list

удалить # или добавить строки deb-src $ url. $ url = действующая строка

Пример

deb http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted
deb-src http://ch.archive.ubuntu.com/ubuntu/ saucy main restricted

deb blah blah

deb-src точно такой же blah blah

Подробнее см. Ссылка .

    
ответ дан Panther 11.07.2014 в 18:46
3

Для Ubuntu 16.04 я успешно сделал эти обновления в sources.list:

$ sudo diff /etc/apt/sources.list /etc/apt/sources.list.bkp 

6c6
< deb-src http://au.archive.ubuntu.com/ubuntu/ xenial main restricted
---
> # deb-src http://au.archive.ubuntu.com/ubuntu/ xenial main restricted

19c19
< deb-src http://au.archive.ubuntu.com/ubuntu/ xenial universe
---
> # deb-src http://au.archive.ubuntu.com/ubuntu/ xenial universe

39c9
< deb-src http://au.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
---
> # deb-src http://au.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse

53c53
< deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse
---
> # deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse
    
ответ дан user3226232 01.08.2016 в 04:08
2

В Linux Mint (я нахожусь на версии 18) вы можете перейти в Источники программного обеспечения (найдите его в стартовом меню или откройте его с терминала с software-sources ). Там, на первой вкладке, вы найдете флажок Включить репозитории исходного кода . Если вы включите это, программа поместит правильные строки в ваш файл /etc/apt/sources.list.d/official-source-repositories.list . Просто не забудьте после этого sudo apt-get update (или нажмите Обновить кеш в Источниках программного обеспечения).

    
ответ дан jitter 28.11.2016 в 13:48
1

Вот решение командной строки

cat /etc/apt/sources.list | grep deb-src  #  see what will get changed

типичный вывод выше cmd

# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic main restricted
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic universe
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates universe
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src http://archive.canonical.com/ubuntu bionic partner
# deb-src http://security.ubuntu.com/ubuntu bionic-security main restricted
# deb-src http://security.ubuntu.com/ubuntu bionic-security universe
# deb-src http://archive.ubuntu.com/ubuntu bionic main universe restricted multiverse
# deb-src http://security.ubuntu.com/ubuntu bionic-security multiverse

, если вы хорошо меняете выше строк, что всегда верно при новой установке ubuntu, затем выполните:

sudo sed -i~orig -e 's/# deb-src/deb-src/' /etc/apt/sources.list   

, который выполняет резервное копирование входного файла, а затем ищет прокомментированный deb-src, где он удаляет комментарий, чтобы активировать эти строки ... после обновления локальных метаданных даст вашему компьютеру представление о новых категориях пакетов ubuntu

sudo apt-get update

теперь снова выдаст исходную команду, с которой не удалось выполнить команду:

E: You must put some 'source' URIs in your sources.list
    
ответ дан Scott Stensland 04.03.2018 в 01:20