Próbuję zainstalować PIL moduł python na Ubuntu
Najpierw muszę zainstalować pakiet o nazwie python-imaging przy użyciu następującego polecenia
sudo apt-get build-dep python-imaging
Gdy próbuję to zrobić, pojawia się błąd
E: You must put some 'source' URIs in your sources.list
Widziałem to pytanie, które pokazuje, jak naprawić za pomocą GUI, ale używam wiersza polecenia. Czy ktoś wie, jak mogę naprawić ten błąd ..?
AKTUALIZACJA: Na podstawie poniższych odpowiedzi zaktualizowałem listę pakietów, ale teraz pojawia się ten błąd. Nie jestem pewien, czy jest to powiązane, jeśli nie, zacznę nowe pytanie, ponieważ nigdzie nie mogę znaleźć odniesienia do błędu.
E: Build-Depends dependency for python-imaging cannot be satisfied because candidate version of package python-all-dev can't satisfy version requirements
Odpowiedzi:
software-properties-gtk
opcja „Kod źródłowy”Polecam to na pulpicie:
następnie w zakładce „Oprogramowanie Ubuntu” kliknij „Kod źródłowy”:
To dodało kilka
deb-src
wierszy poniżej/etc/apt/sources.list
i teraz mogę to zrobićsudo apt-get build-dep <package>
.Nie mogłem znaleźć czystej metody CLI, dlatego tworzę ten raport o błędach: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1802718
Testowane na Ubuntu od 16.04 do 18.04.
Metoda CLI
Polecam to dla obrazów Docker:
Testowane na obrazie dokera Ubuntu 18.04. Po tej zmianie mogę z powodzeniem wykonać na przykład:
i przed zmianą nie powiodło się z błędem:
Wcześniej wspomniano na stronie : https://askubuntu.com/a/1011675/52975 idź i głosuj tę odpowiedź.
Należy jednak pamiętać, że
/etc/apt/sources.list
plik zawiera wiersze, takie jak:co oznacza, że powyższe
sed
umożliwiłoby źródła, ale nie nie-źródła dla niektórych rodzajów repozytoriów. Nie sądzę, żeby to miało znaczenie.źródło
Możesz bezpośrednio edytować listę źródeł (
/etc/apt/sources.list
). Myślę, że musisz dodać / odkomentować te linie:Rozwiązałem ten problem, wyłączając opcję kodu źródłowego i zapisując jedną kopię pliku sources.list, a następnie włączając opcję kodu źródłowego, zapisując kolejną kopię, a następnie uruchamiając
diff
oba.Być może zechcesz zmienić prefiks
http://gb.
na prefiks innych źródeł na liście (aby używał najbliższego kopii dystrybucyjnej repo), a także możesz zignorować#Added by software-properties
.Po edycji
sources.list
uruchomsudo apt-get update
przed próbą ponownej instalacji.Pełne
diff
można znaleźć tutajInnym sposobem jest wygenerowanie nowego. Jedną z metod uzyskania kompletnego źródła.list jest skorzystanie z tej strony: https://repogen.simplylinux.ch/
źródło
$ sudo apt update
Edytować
/etc/apt/sources.list
Następnie usuń
#
lub dodaj liniedeb-src $url
, na przykład:Lub skopiuj z istniejących linii, np
Następnie uruchomić:
Dodatkowe informacje można znaleźć na stronie https://help.ubuntu.com/community/Repositories/CommandLine .
źródło
sudo apt-get update
po edycjisources.list
plikuOto rozwiązanie wiersza polecenia
typowa moc wyjściowa powyżej cmd
jeśli dobrze zmieniasz powyższe wiersze, co zawsze jest prawdą przy świeżej instalacji Ubuntu, wtedy problem:
który wykonuje kopię zapasową pliku wejściowego, a następnie wyszukuje skomentowane polecenie deb-src, w którym usuwa komentarz, aby te linie były aktywne ... po odświeżeniu lokalnych metadanych zwiększy twoją maszynę świadomość nowych kategorii pakietów ubuntu
teraz ponownie wydaj oryginalne polecenie, które nie powiodło się:
źródło
-i~orig
sed, aby wykonać kopię zapasową.W przypadku Ubuntu 16.04 z powodzeniem wprowadziłem następujące aktualizacje do pliku sources.list:
źródło
W Linux Mint (jestem w wersji 18) możesz przejść do Software Sources (wyszukaj go w menu startowym lub otwórz za pomocą terminala
software-sources
). Tam, na pierwszej karcie, znajduje się pole wyboru Włącz repozytoria kodu źródłowego . Jeśli włączysz to, program umieści poprawne linie w twoim/etc/apt/sources.list.d/official-source-repositories.list
pliku. Po prostu nie zapomnijsudo apt-get update
(lub naciśnij Aktualizuj pamięć podręczną w źródłach oprogramowania).źródło