Уведомления

Группа в Telegram: @pythonsu

#1 Май 25, 2016 15:15:15

Aguramazda
Зарегистрирован: 2016-05-25
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Debian 8.4.0 и два Python 2.7 и 3.4

Приветсвую!
Друзья, подскажите новичку, как лучше сделать. Поставил Debian 8.4.0 для изучения Python, там уже был установлен Python 2.7, iPython и Spyder. Захотел свежий Python, установил версию 3.4.
Вопросы:
- работают ли корректно две версии Python на одной системе, не мешают ли друг-другу?
- когда устанавливаешь какой-нить доп пакет для Python из консоли (apt-install ххх) то для какой версии он ставится?

Почему спросил, во-первых в принципе интересно , во-вторых столкнулся с ситуацией:
пишу в версии 3.4
from numpy import *
он в ответ: ImportError: No module named ‘numpy’
при этом dpkg -l python-numpy выдаёт, что numpy версии 1:1.8.2-2 установлен, может он установлен для 2.7 а в 3.4 его не видно? Может такое быть? Я новичок в Python, поэтому просьба не пинать ))

Спасибо!

Офлайн

#2 Май 25, 2016 16:34:48

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Debian 8.4.0 и два Python 2.7 и 3.4

- работают ли корректно две версии Python на одной системе, не мешают ли друг-другу?
Работаю и при чем абсолютно нормально. У некоторых и поболее версий установлено.

- когда устанавливаешь какой-нить доп пакет для Python из консоли (apt-install ххх) то для какой версии он ставится?
В зависимости от того какой пакет ставите. Ибо как правило имя пакета содержит версию питона
python-psycopg2 и python3-psycopg2
Вобщем оно все интуитивно! Кроме того вы можете посмотреть описание пакета и там будет для какой версии питона он точно (apt-cache show pkg_name). Хотя я бы рекомендовал использовать для установки пакетов в питоне pip (для третьей ветки pip3 соответственно)



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Отредактировано ZerG (Май 25, 2016 16:35:52)

Офлайн

#3 Май 26, 2016 00:40:41

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Debian 8.4.0 и два Python 2.7 и 3.4

Aguramazda
Debian это Linux, Python благополучно живет в мире Linux. Причина в том что существует глобальное разделение интерпретаторов 2 и 3 ветки. Соответственно python и python3

john_16@linux-laptop ~ $ which python
/usr/bin/python
john_16@linux-laptop ~ $ ll /usr/bin/python
lrwxrwxrwx 1 root root 9 мая   22 13:29 /usr/bin/python -> python2.7*
john_16@linux-laptop ~ $ which python3
/usr/bin/python3
john_16@linux-laptop ~ $ ll /usr/bin/python3
lrwxrwxrwx 1 root root 9 мая   22 13:29 /usr/bin/python3 -> python3.4*
john_16@linux-laptop ~ $ less /usr/bin/python3

Как видно каждый из них ведет к своей версии интерпретатора.
Но как же быть, если есть программа foo.py и мы запускаем ее не указывая интерпретатора, например
john_16@linux-laptop /tmp $ ./foo.py 
Есть в мире UNIX специальное соглашение, в котором первой строчкой файла указывается специальный код, который определяет каким именно интерпретатором кода пользоваться при запуске файла на исполнение. Выглядит это для нашего случая так:
john_16@linux-laptop /tmp $ cat foo.py 
#!/usr/bin/env python
import sys
print(sys.version)
john_16@linux-laptop /tmp $ ./foo.py 
2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2]
john_16@linux-laptop /tmp $ cat foo3.py 
#!/usr/bin/env python3
import sys
print(sys.version)
john_16@linux-laptop /tmp $ ./foo3.py 
3.4.3 (default, Oct 14 2015, 20:28:29) 
[GCC 4.8.4]
Т.е. мы указываем явно что для исполнения этого файла нужно воспользоваться системным интерпретатором доступным по соответствующей команде.
Таким образом в UNIX подобных системах решается подобный вопрос.
Если существует необходимость воспользоваться несколькими разными интерпретаторами на одной системе, то лучше для этого пользоваться виртуальным окружением. Это спасет вас от большого числа ошибок и проблем с которым вряд ли способен справиться начинающий User.

Про версии пакетов вам ответили ранее. Используйте лучше pip.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Май 26, 2016 01:11:47

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9992
Репутация: +  857  -
Профиль   Отправить e-mail  

Debian 8.4.0 и два Python 2.7 и 3.4

Aguramazda
он в ответ: ImportError: No module named ‘numpy’
Поставь пакет python3-numpy.



Офлайн

#5 Май 26, 2016 08:21:27

Aguramazda
Зарегистрирован: 2016-05-25
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Debian 8.4.0 и два Python 2.7 и 3.4

Спасибо ВСЕМ за столь полезные ответы!
Удачи!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version