이미 Ubuntu에서 제공 한 최신 버전의 pip를 설치하는 방법은 무엇입니까?


18

우분투 16.04에서 할 때 :

pip install --upgrade pip

당신은 얻는다 :

Collecting pip
  Using cached pip-8.1.2-py2.py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

그럴 수 있지. 이제 시도

pip install --upgrade pip

그리고 당신은 얻을 :

Collecting pip
  Using cached pip-8.1.2-py2.py3-none-any.whl
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

그렇다면 실제로 pip 8.1.2를 얻는 방법은 무엇입니까?


합니까의 sudo -H pip install --upgrade pip작업?
edwinksl

@edwinksl : 다른 명령과 동일한 결과를 제공합니다.
user2413

그것이 나를 위해 일한 이후로 이상하게 보입니다. 아마도 버그 보고서를 제출해야 할 것입니다.
edwinksl

@edwinksl : 감사합니다. 며칠 더 기다릴 것이고 그렇게 할 것입니다>
user2413

1
@edwinksl 누군가가 그것을 추적하고 싶을 때 문제열었 습니다.
sethmlarson 2016 년

답변:


13

실제로 우분투 코드로 작업하고 특별한 이유가 없다면 시스템 파이썬을 업데이트하는 것은 좋지 않습니다. APT 저장소에서 python libs를 사용하는 대신 pip로 업데이트하면 시스템 종속성이 많이 발생합니다.

파이썬 애플리케이션을 개발 중이고 라이브러리 버전을 변경해야하는 경우 --user 옵션을 사용하여 pip하거나 가상 버전을 작성하여 사용자 버전의 lib를 저장해야합니다.

이 두 가지 방법 모두 자체 사본이없는 경우 시스템 라이브러리를 사용하는 것으로 대체됩니다. virtualenv에는 해당 피드백을 제어하는 ​​방법에 대한 추가 옵션이 있습니다.

--user와 pip

모든 pip 명령 끝에 --user를 추가하는 것만 큼 간단합니다. 파이썬 라이브러리를 ~ / .local / lib / pythonX.X (여기서 XX는 파이썬 버전 번호)에 넣습니다. 여기서는 시스템 파이썬에 영향을 줄 수 있으므로 sudo를 통해 실행 해야하는 경우 먼저 루트에 대해이 작업을 수행하는 데주의하십시오.

virtualenv

이것은 위와 비슷한 방식으로 작동하지만 특정 사용자와 관련이 적기 때문에 sudo 제한이 없으므로 virtualenv를 복제하고 변경 사항을 테스트하도록 업그레이드 할 수 있으므로 빨라지면 되돌릴 수 있습니다. http://docs.python-guide.org/en/latest/dev/virtualenvs/


1
2.7을 원한다면 파이썬을 완전히 설치하고 싶기 때문에 OS 파이썬을 방해하지 않습니다. 여기에서 venv 이전의 alt 설치에서 pip를 업데이트해야합니다. 캐시 된 버전이 설치되지 않도록 --no-cache-dir을 원할 수도 있습니다.
Wyrmwood

pip 업데이트는 기본적으로 제공되는 python 2.7에 부정적인 영향을 미치지 않습니다.
고통

10

pip8.1.2 용 .whl 파일을 설치하는 데 문제가있는 것 같습니다 . pip8.1.2 를 설치하는 해결 방법 은 PyPi에서 직접 소스를 다운로드하고를 통해 설치하는 것 setup.py입니다.

다음은 나를 위해 일했습니다.

wget https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz
tar -xzvf pip-8.1.2.tar.gz
cd pip-8.1.2
sudo python setup.py install

물론 이것은 pip 8.1.2를 통해 설치하는 솔루션은 아니지만 이 문제가 해결pip install --upgrade 될 때까지 경고를 없애야합니다 .


해당 스레드에 대한 의견이 있는데, 이는 설치된 패키지의 업그레이드를 중지하기 위해 패키지 버전의 pip를 패치하는 우분투와 관련이 있음을 시사합니다.
Amias

5

sudo -H python -m pip install --upgrade pip문제를 해결할 것입니다. 위에서 언급 한 것처럼 특정 시스템에는 특정 python 2.7이 필요하지만 ...에 부정적인 영향을 미치지 않고 pip를 업그레이드 할 수 있지만 원하는 경우 3.5를 함께 설치할 수도 있습니다.

-H위한 플래그 인 sudo보안 정책이 대상 사용자의 암호 데이터베이스 항목으로 지정된 홈 디렉토리로 HOME 환경 변수를 설정하는 것이 요청합니다. 정책에 따라 이것이 기본 동작 일 수 있습니다.


누군가가이 같은 포스트에서 생각을 downvote하고 싶은 경우에 당신은해야 정말 이 가난한 양식을 왜 말한다.
javadba 2016 년

그들은 화를 내고 누군가에게 화를 내야하기 때문입니다. 당신이 묻는 것, 일반적인 삶에 화를냅니다. 스택 오버플로가 와서와의 괴롭힘 아무것도하지만 장소로 설정되어있다.
고통

2

apt-get을 사용하여 pip를 제거하고 easy_install을 사용하여 설치하십시오. 그것은 나를 위해 일했다.

sudo apt-get remove python-pip
sudo easy_install pip

easy_install이 실패합니다. 나는 얻는다 bash: /usr/bin/pip: No such file or directory. 그리고 지금 핍도 제거 할 수 없습니다. 내 컴퓨터에서 pip가 완전히 깨지지 않았기를 바랍니다.
Dean Schulze
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.