Error :: Resources.list'inize bazı 'source' URI'leri koymalısınız.


106

PIL'i ubuntu'da bir python modülü kurmaya çalışıyorum

İlk önce aşağıdaki komutu kullanarak python-görüntüleme adlı bir paket kurmam gerekiyor

sudo apt-get build-dep python-imaging

Bunu yapmaya çalıştığımda hata alıyorum

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

GUI ile nasıl düzeltileceğini gösteren bu soruyu gördüm ama komut satırını kullanıyorum. Bu hatayı nasıl düzeltebileceğimi bilen var mı?

GÜNCELLEME: Aşağıdaki cevaplara dayanarak Paket listemi güncelledim ama şimdi bu hatayı alıyorum. Bağlantılı olup olmadığından emin değilim, eğer yeni bir soru başlatmayacağım, çünkü hataya hiçbir yerde bulamadım.

E: Build-Depends dependency for python-imaging cannot be satisfied because candidate version of package python-all-dev can't satisfy version requirements  

İlk hata mesajı oldukça kafa karıştırıcı. Dosyada SOME kaynakları olmasına rağmen, mesaj hiç kaynak olmadığını gösterir. Mesajın söylemeye çalıştığı şey, bilgiyi içeren bir kaynak eklemek zorundasınız.
Sören

Yanıtlar:


98

software-properties-gtk seçenek "Kaynak kodu"

Bunu masaüstü için tavsiye ederim:

software-properties-gtk

sonra "Ubuntu Software" sekmesi altındaki "Source code" üzerine tıklayın:

görüntü tanımını buraya girin

Bu, deb-srcaltına bazı satırlar ekledi /etc/apt/sources.listve şimdi yapabilirim sudo apt-get build-dep <package>.

Temiz bir CLI yöntemi bulamadım, bu nedenle bu hata raporunu oluşturdum: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1802718

Ubuntu 16.04 - 18.04 arasında test edilmiştir.

CLI yöntemi

Docker görüntüleri için bunu öneriyorum:

sudo cp /etc/apt/sources.list /etc/apt/sources.list~
sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
sudo apt-get update

Ubuntu 18.04 Docker görüntüsünde test edilmiştir. Bu değişiklikten sonra, örneğin başarılı olabilirim:

sudo apt-get build-dep hello

ve değişiklikten önce hata ile başarısız oldu:

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

Daha önce de belirtilen: https://askubuntu.com/a/1011675/52975 gidin ve bu cevabı işaretleyin.

Ancak, /etc/apt/sources.listdosyanın aşağıdaki gibi satırları içerdiğini unutmayın :

# deb http://archive.canonical.com/ubuntu bionic partner
# deb-src http://archive.canonical.com/ubuntu bionic partner

bu, yukarıdakilerin sedbazı repo türleri için kaynakları mümkün kılan ancak kaynakları olmayan anlamına geleceği anlamına gelir . Ben bunun çok önemli olduğunu sanmıyorum.


5
Bu sadece benim için ubuntu
Veya Duan,

2
Ayrıca benim için Ubuntu'da
kramer65

2
@kilgoretrout "kabul edilen cevap nasıl" Google arama sonuçları kesin soru anlamını yendi çünkü
Ciro Santilli,

1
Çok havalı! Sed'i sevmelisin!
Esben Eickhardt

1
19.04
Haris

49

Kaynak listesini ( /etc/apt/sources.list) doğrudan düzenleyebilirsiniz . Bu satırları eklemek / eklemek zorunda olduğunuzu düşünüyorum:

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

Bunu kaynak kodu seçeneğini devre dışı bırakarak ve sources.list dosyasının bir kopyasını kaydederek, ardından kaynak kodu seçeneğini etkinleştirerek, başka bir kopyayı kaydederek diffve her ikisinde de çalıştırarak çözdüm.

Ön http://gb.eki, listenizdeki diğer kaynakların ön ekiyle değiştirmek isteyebilirsiniz (bu nedenle en yakın repo yansımasını kullanır) ve bunu da görmezden gelebilirsiniz #Added by software-properties.

Düzenlemeden sonra tekrar kurmayı denemeden önce sources.listçalıştırın sudo apt-get update.

Tam buradadiff bulunabilir


Başka bir yol yeni bir tane üretmektir. Kaynakların tam bir listesini elde etmenin bir yolu bu siteyi kullanmaktır: https://repogen.simplylinux.ch/


7
"Sources.list dosyasını düzenledikten sonra, tekrar yüklemeyi denemeden önce sudo apt-get update komutunu çalıştırın." - Anahtar buydu, teşekkürler!
Kaushal Modi

9
sudo sed -i -e 'in / # deb-src / deb-src /' /etc/apt/sources.list
Vincent

1
Beni hatırladığın için teşekkürler dostum$ sudo apt update
christianbueno.1

@ Vincent'ın yorumu benim için yeterliydi ve süper temizdi
kilgoretrout

26

Düzenle /etc/apt/sources.list

sudo nano /etc/apt/sources.list

Sonra kaldırmak #veya satırları ekleyin deb-src $url: örneğin,

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

Veya mevcut satırlardan kopyalayın, örneğin

deb blah blah
deb-src exact same blah blah

O zaman koş:

sudo apt-get update

Ek bilgi için https://help.ubuntu.com/community/Repositories/CommandLine adresine bakın .


17
dosyayı sudo apt-get updatesources.list
düzenledikten

4

İşte komut satırı çözümü

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

cmd'nin tipik çıkışı

# 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

Her zaman taze bir ubuntu kurulumunda doğru olan satırların üzerinde değişiklik yapmakta sorun yaşıyorsanız, sorun:

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

Bu, bir giriş dosyasının yedeğini oluşturur, daha sonra, bu satırları etkin hale getirmek için yorumu kaldırdığı deb-src için yorum yapılan bir arama ... yerel meta verilerin yenilenmesini takiben, makinenize ubuntu paketlerinin yeni kategorileri hakkında bilgi verir

sudo apt-get update

Şimdi başarısız olan orijinal komutunuzu tekrar verin:

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

1
CP'yi atlayabilir ve sed'in -i~origyedeğini almak için sed ile kullanabilirsiniz .
muru

3

Ubuntu 16.04 için bu güncellemeleri sources.list'e başarıyla yaptım:

$ 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

2

Linux Mint'te (18 sürümdeyim) Yazılım Kaynaklarına gidebilir (başlangıç ​​menüsünde arayabilir veya bir terminalden ile açabilirsiniz software-sources). Burada ilk sekmede Kaynak kodu havuzlarını etkinleştir onay kutusunu göreceksiniz . Bunu etkinleştirirseniz, program /etc/apt/sources.list.d/official-source-repositories.listdosyanıza doğru satırları koyacaktır . Sadece bundan sonra sudo apt-get update(ya da Yazılım Kaynaklarındaki önbelleği güncelle) düğmesine basmayı unutmayın .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.