우분투에 파이썬 모듈 PIL을 설치하려고합니다.
먼저 다음 명령을 사용하여 python-imaging이라는 패키지를 설치해야합니다.
sudo apt-get build-dep python-imaging
시도하고 이것을 할 때 오류가 발생합니다
E: You must put some 'source' URIs in your sources.list
나는 이 질문을 통해 GUI를 통해 수정하는 방법을 보여 주지만 명령 줄을 사용하고 있습니다. 누구든지이 오류를 어떻게 해결할 수 있는지 알고 있습니까?
업데이트 : 아래 답변에 따라 패키지 목록을 업데이트했지만 이제이 오류가 발생합니다. 관련이 있는지 확실하지 않은 경우에는 오류에 대한 참조를 찾을 수 없으므로 새 질문을 시작합니다.
E: Build-Depends dependency for python-imaging cannot be satisfied because candidate version of package python-all-dev can't satisfy version requirements
답변
software-properties-gtk
“소스 코드”옵션
나는 이것을 데스크탑에 추천한다 :
software-properties-gtk
그런 다음 “Ubuntu Software”탭에서 “Source code”를 클릭하십시오.
이것은 deb-src
아래 에 몇 줄 을 추가 /etc/apt/sources.list
했으며 이제는 할 수 있습니다 sudo apt-get build-dep <package>
.
클린 CLI 메소드를 찾을 수 없으므로이 버그 보고서를 작성하십시오. https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1802718
우분투 16.04에서 18.04에서 테스트되었습니다.
CLI 방법
Docker 이미지에는 이것을 권장합니다.
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 이미지에서 테스트되었습니다. 이 변경 후 예를 들어 다음과 같이 수행 할 수 있습니다.
sudo apt-get build-dep hello
변경하기 전에 오류와 함께 실패했습니다.
E: You must put some 'source' URIs in your sources.list
https://askubuntu.com/a/1011675/52975 에서 이전에 언급했으며 해당 답변을 찬성 투표 하십시오 .
그러나 /etc/apt/sources.list
파일에는 다음과 같은 행이 포함되어 있습니다.
# deb http://archive.canonical.com/ubuntu bionic partner
# deb-src http://archive.canonical.com/ubuntu bionic partner
위의 내용 sed
은 일부 유형의 저장소에 대해서는 소스를 사용할 수 있지만 소스는 아닌 것을 가능하게합니다. 나는 그것이 중요하다고 생각하지 않습니다.
답변
소스 목록 ( /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
하십시오.
또 다른 방법은 새로운 것을 생성하는 것입니다. 완전한 sources.list를 얻는 한 가지 방법은 다음 사이트를 사용하는 것입니다 : https://repogen.simplylinux.ch/
답변
편집하다 /etc/apt/sources.list
sudo nano /etc/apt/sources.list
그런 다음 #
과 같이 줄을 제거 하거나 추가하십시오 deb-src $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 exact same blah blah
그런 다음 다음을 실행하십시오.
sudo apt-get update
자세한 내용은 https://help.ubuntu.com/community/Repositories/CommandLine 을 참조 하십시오 .
답변
커맨드 라인 솔루션은 다음과 같습니다.
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
새로운 우분투 설치에서 항상 위의 행을 변경하는 것이 좋으면 다음을 발행하십시오.
sudo sed -i~orig -e 's/# deb-src/deb-src/' /etc/apt/sources.list
입력 파일의 백업을 수행 한 다음 주석 처리 된 주석을 제거하여 주석 처리 된 주석을 제거합니다. 로컬 메타 데이터를 새로 고친 후 우분투 패키지의 새로운 범주에 대한 정보를 시스템에 제공합니다
sudo apt-get update
이제 실패한 원래 명령을 다시 한 번 발행하십시오.
E: You must put some 'source' URIs in your sources.list
답변
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
답변
Linux Mint (버전 18에 있음)에서 소프트웨어 소스 (시작 메뉴에서 검색하거나로 터미널에서 열 수 있음)로 이동할 수 있습니다 software-sources
. 첫 번째 탭에는 소스 코드 리포지토리 활성화 확인란이 있습니다. 이 기능을 활성화하면 프로그램이 /etc/apt/sources.list.d/official-source-repositories.list
파일에 올바른 줄을 넣습니다 . 그 후에는 잊지 마십시오 sudo apt-get update
(또는 소프트웨어 소스에서 캐시 업데이트를 누르 십시오 ).