Две версии python (2.7 и 3.3) на Uuntu 12.04. Какие проблемы могут возникнуть?

Какие могут возникнуть проблемы у начинающего изучать python если в системе Ubuntu 12.04 установлено две версии языка 2.7 и 3.3 и не используется virtualenv? Будут ли каким то образом конфликтовать установленная самостоятельно версия 3.3 с системной 2.7?

Как быть в случае если на локальной машине разрабатывалось django приложение с использованием virtualenv на python 3.3 и нужно его развернуть на сервер (Ubuntu 12.04). Необходимо ли на сервере устанавливать virtualenv или достаточно будет установки python 3.3 и необходимых модулей?
  • Вопрос задан
  • 10082 просмотра
Решения вопроса 1
Что в virtualenv сложного? Так же устанавливаешь virtualenv на сервер той версии какой нужен python. Дальше все очень тривиально и просто.
# Убедись что он 2ой версии
apt-cache show python-virtualenv
# Устанавливаешь virtualenv  
apt-get install python-virtualenv  
# Создаешь новый проект, установленные в системы либы не тянешь
virtualenv --no-site-packages project
# Активируешь виртуальное окружение
# Все. Теперь команда pip будет устанавливать все пакеты в твое окружение а не системное
. ./project/bin/activate
# Устанавливаешь Django   
pip install django


Если же по каким то причинам не хочешь виртуального окружения, то поставь версию pip-а в систему под питон нужный тебе:
$ apt-cache search virtualenv
python-pip - alternative Python package installer
python3-pip - alternative Python package installer - Python 3 version of the package

И обращаться к нему уже будешь pip, pip3

Как дополнение: в Debian и Ubuntu есть механизм выбора приоритетов. Все что он делает - переключает ссылку на нужные версии софта.
Делается это по средством команды update-alternatives
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
Никаких, они отдельно живут и прекрасно ставятся вместе.
бинарник python - линк на установленную версию python2.x
Ответ написан
Комментировать
desperadik
@desperadik
Истина где-то рядом.
1)Смотря к какой в версии вы обращаетесь. Через команду просто:
python
вы будете вызывать тот Python, которой у Вас в sourse определен.
Конфликты могут возникнуть, если у юзеров на вашей UBUNTe определены разные версии Python.
2) Тут также зависит от какого пользователя запускается(от пользователя у которого python27 или python33 ). Но всегда лучше, имхо, иметь virtualenv.
Ответ написан
Комментировать
@PyTiMa
Учусь, кручусь, верчусь.
Главное не ставь Python3 за основной - оставь Python2.7 , а то начнутся проблемы с софтом . Лучше не лениться и писать python3 в терминале.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы