2016-11-27 1 views
16

У меня есть Macbook с OS X El Captain. Я думаю, что на нем предустановлен Python 2.7. Однако я также установил Python 3.5. Когда я начал использовать Python 3, я прочитал, что если я хочу, чтобы установить пакет, я должен набрать:pip или pip3 для установки пакетов для Python 3?

pip3 install some_package 

Во всяком случае, теперь, когда я использую

pip install some_package 

я получаю some_package установлен для Python 3. Я имею в виду, что я могу импортировать его и использовать без проблем. Более того, когда я печатаю только pip3 в Terminal, я получил сообщение об использовании:

Usage: 
    pip <command> [options] 

что то же самое сообщение, которое я получаю, когда я типа просто pip.

Означает ли это, что в предыдущих версиях все было по-другому, и теперь pip и pip3 могут использоваться взаимозаменяемо? Если да, и для аргументации, как я могу установить пакеты для Python 2 вместо Python 3?

ответ

13

Ваши pip и pip3 являются плавными ссылками на один и тот же путь исполняемого файла. вы можете использовать следующие команды, чтобы проверить, где ваши pip и pip3 реальные пути являются:

$ ls -l `which pip` 
$ ls -l `which pip3` 

вы также можете использовать следующие команды, чтобы узнать более подробную информацию:

$ pip show pip 
$ pip3 show pip 

Когда мы установили другую версию питона, мы можем делать такие ссылки софт

  • установить по умолчанию образец для некоторой версии.
  • сделать разные ссылки для разных версий.

это же положение о python, python2, python3

4

Это сложный вопрос. В конце, если вы вызываете pip, он будет вызывать либо pip2, либо pip3, в зависимости от того, как вы настроите систему.

1

Если вы установили Python 2.7, я думаю, вы могли бы использовать pip2 и pip2.7 для установки пакетов специально для Python 2, как

pip2 install some_pacakge 

или

pip2.7 install some_package 

И вы можете использовать pip3 или pip3.5 к установить pacakges специально для Python 3.

5

При установке python3, pip3. И если у вас нет другой установки python (например, python2.7), тогда создается ссылка, которая указывает pip на pip3.

Так pip является ссылка на pip3, если нет другой версии питона установлен (кроме Python3). pip обычно указывает на первую установку.

4

Если у вас Python 2.x, а затем установлен python3, ваш пип будет указывать PIP3. , вы можете проверить, что набрав pip --version, который будет таким же, как pip3 --version.

В вашей системе у вас есть pip, pip2 и pip3.

Если вы хотите, вы можете сменить пип, чтобы указать на pip2 вместо pip3.

+0

как изменить что – ahnbizcad

+1

@ahnbizcad Самый простой способ определить псевдоним, как это: псевдоним пип = «PIP3» – apadana

0

Я думаю, что pip, pip2 и pip3 не являются мягкими ссылками на один и тот же путь исполняемого файла. Обратите внимание на эти команды и результаты в моем терминале linux:

[email protected] ~ $ ls -l `which pip` 
-rwxr-xr-x 1 root root 292 Nov 10 2016 /usr/bin/pip 
[email protected] ~ $ ls -l `which pip2` 
-rwxr-xr-x 1 root root 283 Nov 10 2016 /usr/bin/pip2 
[email protected] ~ $ ls -l `which pip3` 
-rwxr-xr-x 1 root root 293 Nov 10 2016 /usr/bin/pip3 
[email protected] ~ $ pip -V 
pip 9.0.1 from /home/mrz/.local/lib/python2.7/site-packages (python 2.7) 
[email protected] ~ $ pip2 -V 
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7) 
[email protected] ~ $ pip3 -V 
pip 9.0.1 from /home/mrz/.local/lib/python3.5/site-packages (python 3.5) 

Как вы видите, они существуют на разных путях.

pip3 всегда работает только в среде Python3, так как pip2 работает с Python2. pip работает в зависимости от того, какая среда подходит для контекста. Например, если вы находитесь в Python3 venv, pip будет работать в среде Python3.

+0

Я бы сказал, что это немного вводит в заблуждение, чтобы сказать, что пип связан с любой среде подходит для контекст. В случае venv исполняемый файл pip специфичен для venv, а не для системы. Если вы не установили несколько версий python в том же venv, я не вижу этой проблемы, возникающей там. Когда вы не используете venv, используемая версия используется иногда неинтуитивно и зависит от конфигурации вашей системы (часто определяется, какая версия python была установлена ​​первой, как говорили другие). Но у Пипа нет никакого интеллекта, который он использует, чтобы выбрать версию динамически –

0

В моем экземпляре Windows - и я не совсем понимаю свою среду - с помощью pip3 для установки пакета kaggle-cli работал, тогда как pip не сделал. Я работал в среде conda, и среда выглядела по-другому.

(fastai) C: \ Users \ красноломкий \ Downloads \ fast.ai \ deeplearning1 \ НБС> пип --version

пип 9.0.1 из C: \ ProgramData \ Anaconda3 \ envs \ fastai \ Lib \ сайт-пакеты (питон 3,6)

(fastai) C: \ Users \ красноломкий \ Downloads \ fast.ai \ deeplearning1 \ НБС> PIP3 --version

пип 9.0.1 из C: \ users \ redact \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages (python 3.6)

 Смежные вопросы

  • Нет связанных вопросов^_^