2017-02-16 9 views
2

Сегодня я начал экспериментировать с shade; и установил его для python2 и python3 на моей системе ubuntu 16.04; с помощью:pip и pip3 - оба указывают на python3.5?

sudo pip install shade 

соответственно

sudo pip3 install shade 

Обе команды передаются; Я действительно не обращал внимания.

Затем я попытался запустить этот небольшой тестовый скрипт:

from shade import * 

simple_logging(debug=True) 
conn = openstack_cloud(cloud='myopenstack') 
images = conn.list_images() 
for image in images: 
    print(image) 

Используя python3, я получил сообщение об ошибке сертификата (это хорошо, я бы очень удивлен, чтобы найти нашу внутренней инфраструктуры для использования правильных сертификатов).

Но, чтобы быть уверенным, я тоже хотел работать с python2.7; и я сказал:

ImportError: No module named shade

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

> pip -V 
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5) 
> pip3 -V 
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5) 

Похоже, как pip и pip3 фактически работают на моей установке Python3, но когда я:

> python --version 
Python 2.7.12 
> python3 --version 
Python 3.5.2 

Любая идея, никто? Что может быть причиной этого, или как на самом деле установить оттенок для python2/pip?

В соответствии с просьбой:

> for i in pip pip3 python python3 ; do type $i ; done 
pip is /usr/local/bin/pip 
pip3 is /usr/local/bin/pip3 
python is /usr/bin/python 
python3 is /usr/bin/python3 
+0

Не могли бы вы запустить 'for i в pip pip3 python python3; do type $ i; done' и добавить результат к вашему вопросу? –

+0

добавил эту информацию. – GhostCat

+0

'pip3' выглядит как опция по умолчанию' pip'. У вас нет 'pip2'? – kichik

ответ

3

pip3 выглядит как вариант по умолчанию pip. Попробуйте использовать pip2, чтобы явно установить пакет Python 2.

+0

Все ответы хороши; поэтому очень сложно выбрать тот, который можно принять; но это один из самых «подробных/минималистических»; так что вы его получили ;-) – GhostCat

+0

Если бы такая же проблема и pip2 тоже работали для меня. – Arturo

+0

не смог бы поблагодарить вас. Я так долго боролся с установками модуля python для двух версий ... жизнь теперь будет намного лучше. – Oshan

1
python -m pip 

Это будет использовать версию пип, что питон может видеть.

+0

Все ответы хороши; поэтому я решил «компенсировать» вас за ... не принимаю ;-) – GhostCat

1

Ваша локальная установка пифа python3 в/usr/local/bin/теней на установку системы в/usr/bin. Для того, чтобы использовать пип системы по умолчанию, вы можете:

  • Укажите путь в явном виде: sudo /usr/bin/pip install shade
  • Удалить локальную установку pip: sudo rm /usr/local/bin/pip
  • Изменить ваш $ PATH предпочитать /usr/bin к /usr/local/bin
  • Используйте псевдоним pip2 от /usr/bin: sudo pip2 install shade
  • Установить python3 из системных репозиториев: sudo apt-get install python3. Не забудьте удалить локальную установку python3, если вы пройдете этот маршрут.
+0

Все ответы хороши; поэтому я решил «компенсировать» вас за ... не принимаю ;-) – GhostCat

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