2017-01-11 6 views
0

Недавно я сделал pip3 list, чтобы проверить, какие модули/проекты я установил в своей виртуальной среде, и у меня появилось предложение обновить pip. Я попытался, но я не могу заставить его обновлять/обновлять. Я сделал:Не удалось обновить pip3, хотя я пытаюсь его обновить

$ pip3 list 
namespaces (4.2.0) 
pip (8.0.2) 
scikit-learn (0.18.1) 
setuptools (19.4) 
six (1.10.0) 
wheel (0.26.0) 
You are using pip version 8.0.2, however version 9.0.1 is available. 
You should consider upgrading via the 'pip install --upgrade pip' command. 

поэтому я попытался сделать это, и он сказал, что это работает:

$ pip install --upgrade pip 
Requirement already up-to-date: pip in /Users/user/home_simulation_research/hbf_tensorflow_code/venv/lib/python2.7/site-packages 

, так как он ее alread там я сделал список PIP3 снова сказал, и он твердил я на самом деле не имеют он обновился. Поскольку обновление стандартной командой пип не работала, я вместо этого попытался использовать pip3 сделать обновление, но он по-прежнему не работает:

pip3 install --upgrade pip3 
Collecting pip3 
    Could not find a version that satisfies the requirement pip3 (from versions:) 
No matching distribution found for pip3 
You are using pip version 8.0.2, however version 9.0.1 is available. 
You should consider upgrading via the 'pip install --upgrade pip' command. 

Почему это не работает?


Просто, когда я думал, что это не сработало, я попытался использовать pip3 для обновления pip и pip3 для обновления pip3. По какой-то причине более поздняя версия, похоже, не работает, но первая делает. то есть делание:

$ pip3 install --upgrade pip 

работал (или, по крайней мере, pip3 list) остановился с просьбой мне обновить. Почему это? Это только я или это действительно странное поведение?

+0

'pip3' - это просто псевдоним для' pip', запущенного на Python 3.x, нет пакета 'pip3'. 'pip install --upgrade pip' обновляет версию, используемую вами на Python 2.x,' pip3 install --upgrade pip' обновляет версию, используемую вами на Python 3.x. – jonrsharpe

ответ

1

при запуске pip3 list вы представляете пакеты, установленные для python3, а при запуске pip install --upgrade pip вы проверяете обновления пакетов python2. когда вы запустите pip3 install --upgrade pip3, это даст ошибку, потому что там нет пакета с именем pip3, pip3 - это инструмент командной строки, предоставленный в пакете pip. Когда вы, наконец, запустите pip3 install --upgrade pip, вы поступаете правильно (установка обновлений для python3, имя пакета - пип).

+0

Я не понимаю, почему pip3 не существует, но на самом деле это позволяет мне что-то запускать? Кажется, ваш ответ подразумевает, что карты pip2 для карт pip и pip3 относятся к pip, поэтому, похоже, происходит столкновение. Как узнать, что делает pip (например, вызов pip2 или pip3)? –

+0

Я упомянул в своем ответе, pip3 - это инструмент командной строки, предоставляемый пакетом pip. вы можете проверить вывод следующих двух команд: 'pip show pip -f',' pip3 show pip -f' – xiaket

+0

pip3 - это не пакет, это программа в пакете pip. – aqua