2017-12-12 3 views
0

나는 /python/에 여러개의 python 3 설치가있는 Ubuntu 16.04 머신을 가지고 있으며, 그들 사이에서 자유롭게 전환 할 수 있어야합니다. 이 버전 중 하나는 Python 3.3이고, pip는 Python 3.4.x까지 사전 설치되지 않았으므로이 Python 설치에 pip를 설치하고 싶습니다.비표준 경로에있는 Python 3.3 설치에서 pip3을 올바르게 설치하려면 어떻게해야합니까?

get-pip.py 시도를 /usr/bin에서 PIP의 버전을 제거 :

실제로, 나는 문제가이 관리하는 데있어/파이썬/python33 설치에 통합 될 필요가 있기 때문에 나는 배포판의 패키지를 사용하지 않으려는 내가 --ignore-installed를 추가 할 경우
$ /tmp/get-pip.py --prefix /python/python33 
Collecting pip 
    Using cached pip-9.0.1-py2.py3-none-any.whl 
Installing collected packages: pip 
    Found existing installation: pip 8.1.2 
    Uninstalling pip-8.1.2: 
Exception: 
Traceback (most recent call last): 
    File "/tmp/tmpdgdWPZ/pip.zip/pip/basecommand.py", line 215, in main 
    status = self.run(options, args) 
    File "/tmp/tmpdgdWPZ/pip.zip/pip/commands/install.py", line 342, in run 
    prefix=options.prefix_path, 
    File "/tmp/tmpdgdWPZ/pip.zip/pip/req/req_set.py", line 778, in install 
    requirement.uninstall(auto_confirm=True) 
    File "/tmp/tmpdgdWPZ/pip.zip/pip/req/req_install.py", line 754, in uninstall 
    paths_to_remove.remove(auto_confirm) 
    File "/tmp/tmpdgdWPZ/pip.zip/pip/req/req_uninstall.py", line 115, in remove 
    renames(path, new_path) 
    File "/tmp/tmpdgdWPZ/pip.zip/pip/utils/__init__.py", line 267, in renames 
    shutil.move(old, new) 
    File "/usr/lib/python2.7/shutil.py", line 303, in move 
    os.unlink(src) 
OSError: [Errno 13] Permission denied: '/usr/bin/pip' 
You are using pip version 8.1.2, however version 9.0.1 is available. 
You should consider upgrading via the 'pip install --upgrade pip' command. 

, 그것은 오류가 밖으로하지 않습니다하지만 여전히 핍의 버전을보고는/usr/빈 (그것에 대해 불평하는 기존 8.1.2 일)에서 :

$ /tmp/get-pip.py --ignore-installed --prefix /python/python33 
Collecting pip 
    Using cached pip-9.0.1-py2.py3-none-any.whl 
Installing collected packages: pip 
Successfully installed pip-9.0.1 
You are using pip version 8.1.2, however version 9.0.1 is available. 
You should consider upgrading via the 'pip install --upgrade pip' command. 

01,233,348,817,454,661,이 작동하지 않습니다.

그리고 왜 /python/python33/lib/python2.7/site-packages에 설치하려고합니까? 이것은 pip 또는 something의 python 2 버전입니까?

많은 관련 답변을 여기에서 읽었지만 지금까지 아무도 도움을받지 못했습니다.

+0

여러 버전의 Python을 사용하려면 virtualenv 또는 conda와 같은 비슷한 것을 사용해야합니다. – chrisz

+0

확실히. 그러나 어떤 이유로 든 그럴 수는 없다고 상상해보십시오. 회사 환경에 있다고 가정 해보십시오. – iLikeDirt

+1

'/ python/python33/tmp/get-pip.py'을 사용해 보셨습니까? – georgexsh

답변

0

16.04 우분투 상자에 Python 3.5.2 3.6.3이 설치되어 있습니다.

3.5.2

3.6.3가/usr/local/bin python3.6 지점에 설치되어있는이 버전 python3 및 python3.5 포인트는/usr/빈 심볼릭 링크의 시스템 설치 버전입니다 이 버전의 나를 위해

다음 작품 :

wget https://bootstrap.pypa.io/get-pip.py 
python3.6 get-pip.py 
mkdir /home/ubuntu/myproj/venv 
python3.6 -m venv /home/ubuntu/myproj/venv 
#Activate the venv 
source /home/ubuntu/myproj/venv/bin/activate 

python3 지금 내 가상 환경 내에서 3.6 가리 킵니다.

16.04에 어떻게 Python 3.6을 설치 했습니까? 나는 물건을 부수 지 않기 위해 그것을 얻는 상처의 세계를 가지고 있었다. 결국 나는 근원에서 만들었다. 자세한 내용은 gist을 참조하십시오. 이 question은 이유를 설명합니다. 그리고이 blog 게시물은 저에게 해결책을주었습니다.

+0

[이 ppa] (https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa)를 사용해 보셨습니까? – georgexsh

+0

예, 파이썬 3.6에서는 문제없이 작동합니다. 문제는 시스템 레벨에서 apt-get과 같은 작업을하기 위해 16.04에 파이썬 3.5가 필요하다는 것입니다. – WombatPM

+0

deadsnake ppa에서 python36을 설치하면 '그림자 시스템 pyhton이 아닙니다. 문제가 있습니까? – georgexsh

관련 문제