Поскольку Ubuntu 10.04 является выпуском LTS, будет ли он поддерживать python 2.7 в качестве версии по умолчанию для сопровождающего пакета или, по крайней мере, в будущем появится пакет python2.7?
Поскольку это будет последний крупный выпуск Python 2.x, и он будет долгое время оставаться на месте, я решил его использовать. Я скомпилировал его из исходного кода (конечно, после создания deps), но время от времени нахожу небольшие проблемы.
Безопасно ли определять мой скомпилированный python 2.7 по умолчанию, так как есть некоторые дистрибутивные приложения, которые работают на python.
Нет, не считается безопасным определять 2.7 в качестве интерпретатора Python по умолчанию в Lucid . И я не думаю, что это будет в будущем.
В одном выпуске нет основных обновлений программного обеспечения.
Поэтому python2.7 не заменит 2.6 в качестве интерпретатора по умолчанию. Этот вид обновления выполняется только между версиями, в пределах одной - особенно LTS - существуют только так называемые стабильные обновления, то есть исправления ошибок и обновления, связанные с безопасностью.
Тем не менее, совершенно безопасно использовать python2.7, определяя ваш интерпретатор как #!/usr/bin/python2.7и предлагая пользователям установить его, используя make altinstallисходный код python, наряду с python2.6.
У той же проблемы был VPS, который не может быть обновлен до Maverick (даже новые образы LTS не всегда доступны вовремя). Ответ Мариуса помог мне, но его следует расширить:
Добавьте PPA к своим источникам
Если вы находитесь в моей ситуации, простой совет по бегу add-apt-repositoryне сработает для вас. Итак, давайте сделаем это старомодным способом:
Откройте файл /etc/apt/sources.list(вам нужны привилегии суперпользователя; если вы находитесь в оболочке, это, вероятно, означает запуск sudo vim /etc/apt/sources.list)
Пройдите до конца файла (если используете vim, переключитесь в режим вставки, нажав i) и добавьте следующие строки:
deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main
deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main
Сохраните и выйдите (in vim: type :wq) и вернитесь к оболочке.
Введите следующее (вы можете найти правильный ключ в PPA ; это часть после косой черты в «технических деталях» - убедитесь, что вы получили правильный):
Наконец, вы хотите pipи virtualenvработаете, если вы планируете делать что-то серьезное:
easy_install-2.7 pip
pip-2.7 install virtualenv
Настройка virtualenv
Создайте папку для вашей новой среды и откройте ее:
mkdir my_env && cd my_env
Создайте саму виртуальную среду (точка указывает, что текущая директория является местоположением среды, замените ее на правильный путь, если вы пропустили предыдущий шаг):
virtualenv --no-site-packages --python=python2.7.
Активировать среду. Вы заметите изменения в приглашении оболочки, чтобы отразить активное окружение:
source bin/activate
Все, что вы сейчас делаете в этой оболочке, будет использовать скрипты в binпапке виртуальной среды и пакеты Python этой среды. Помните, что эта опция --no-site-packagesозначает, что вы начинаете с минимального набора пакетов (включая pip, однако), поэтому вам нужно установить все необходимые вам пакеты.
Когда вы закончите, деактивируйте среду (это команда, распознаваемая активной средой):
deactivate
Вы также можете установить пакеты в виртуальную среду, передав -Eопцию pip(например, pip install some-package -E /path/to/virtual/environmentустановить some-packageв виртуальную среду по заданному пути). Имейте в виду, что у вас будет несколько разных версий, pipсоответствующих различным установленным версиям Python.
Это хорошая идея, pip-2.7если вы хотите установить пакеты для Python 2.7 при работе вне виртуальной среды ( --python=python2.7опция, которую мы передали, virtualenvозначает, что виртуальная среда будет использовать версии инструментов Python 2.7, которые она предоставляет, поэтому вам не нужно беспокоиться об этом).
В моем случае я уже установил pip для 2.6, и мне пришлось easy_install-2.7 -U pipфорсировать установку версии 2.7. Но спасибо, это отличная помощь!
Гейб Моутарт
2
Для шага 2 в разделе «Установить и настроить Python 2.7» мне пришлось сделать wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7. А затем, чтобы получить пункт, sudo python2.7 -m easy_install pipа затем sudo python2.7 -m easy_install --upgrade pip. Опция --no-check-certificate была необходима, чтобы получить жалобу от wget на сертификат SSL. (См. Pypi.python.org/pypi/setuptools#unix-wget )
zlovelady
10
Есть PPA с Python 2.7, созданный для Ubuntu 10.04. Это может быть безопаснее / удобнее, чем строить из источника.
я так не думаю, так как потребуется изменить многие программы и библиотеки, связанные с версией 10.04. На самом деле большая часть работы в Ubuntu выполняется с использованием определенной версии Python. Изменение его на python изменило бы много системных файлов.
Для 10.10 он доступен из synaptic / aptitude, просто установив python2.7 (вы также можете установить 3 и 3.1), но для 10.04 не сделано никаких работ, чтобы разобраться с 10.04.
10.10 имеет Python 2.6 по умолчанию. Извините, если ответ не был положительным, но просто хотел дать вам представление об изменениях.
РЕДАКТИРОВАТЬ - Изменено Python 2.7 на Python 2.6 по умолчанию, так как это было дважды проверено из комментариев ниже. Спасибо.
Я только что проверил 10.10 в виртуальном боксе, по умолчанию он имеет Python 2.6.6, хотя для Maverick доступно 2,7 пакета. Я думаю, что его 11.04, который имеет его по умолчанию. Я обычно продолжаю обновлять и менять дистрибутивы, но собираюсь остановиться на 10.04, для его долгосрочной поддержки и моих настроек.
easy_install-2.7 -U pip
форсировать установку версии 2.7. Но спасибо, это отличная помощь!wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7
. А затем, чтобы получить пункт,sudo python2.7 -m easy_install pip
а затемsudo python2.7 -m easy_install --upgrade pip
. Опция --no-check-certificate была необходима, чтобы получить жалобу от wget на сертификат SSL. (См. Pypi.python.org/pypi/setuptools#unix-wget )Есть PPA с Python 2.7, созданный для Ubuntu 10.04. Это может быть безопаснее / удобнее, чем строить из источника.
источник
Это решило все виды проблем, которые у меня были /programming/7561221/undefined-symbol-pyobject-nextnotimplemented-error-when-loading-psycopg2-modu .
Сейчас
libpython2.7.so.1.0
идет ссылка на мой python2.7 и т. Д. Все выглядит более счастливым.Последний кусок, который мне нужно было понять, это
mod_wsgi
установка. Если вы просто выдаете:Тогда это будет скомпилировано для Python2.6 :(
Поэтому я следовал инструкциям, предоставленным Горком Зопом здесь .
У меня наконец-то рабочий сервер. Спасибо.
источник
я так не думаю, так как потребуется изменить многие программы и библиотеки, связанные с версией 10.04. На самом деле большая часть работы в Ubuntu выполняется с использованием определенной версии Python. Изменение его на python изменило бы много системных файлов.
Для 10.10 он доступен из synaptic / aptitude, просто установив python2.7 (вы также можете установить 3 и 3.1), но для 10.04 не сделано никаких работ, чтобы разобраться с 10.04.
10.10 имеет Python 2.6 по умолчанию. Извините, если ответ не был положительным, но просто хотел дать вам представление об изменениях.
РЕДАКТИРОВАТЬ - Изменено Python 2.7 на Python 2.6 по умолчанию, так как это было дважды проверено из комментариев ниже. Спасибо.
источник