Как установить Python в Linux без установленной предыдущей версии - PullRequest
1 голос
/ 29 марта 2012

В настоящее время я занимаюсь программированием некоторых встроенных систем.Это было создано кем-то еще несколько лет назад.Поэтому сейчас я планирую перейти на Python 2.7.2, чтобы упростить ситуацию, потому что я уже столкнулся с двумя случаями, когда то, что я кодировал, не поддерживалось.*

Так что сейчас установлен только 2.4.

Я разобрал python2.7.2, и когда я захожу в этот каталог и запускаю python27 setup.py install --home=/home/jhemilian, кажется, что python2.4, похоже, не знает with...as синтаксис оператора:

host1:/home/jhemilian/src/Python-2.7.2: python setup.py install --home=/home/jhe
milian
  File "setup.py", line 361
    with open(tmpfile) as fp:
            ^
SyntaxError: invalid syntax

Прежде чем приступить к выяснению этого, у меня сначала возникает вопрос: сам Python используется для установки Python?Что если у меня не установлена ​​первая версия Python?Я знаю, что он поставляется с большинством Linux, но гипотетически - как работает такой кажущийся catch-22, как этот?команда все еще использует Python 2.4 на тот случай, если «старое» программное обеспечение, которое я запускаю, зависит от него и запускает python2.7 myscript.py и так далее, когда я хочу запустить один из моих новых сценариев.Не стесняйтесь комментировать, если есть более чистый или более практичный (или даже более безопасный!) Способ сделать это.

Я не думаю, что было бы много смысла переходить на замену всех операторов with совместимыми блоками try.,Я просматривал README и онлайн-документацию, но я не могу найти способ установить Python, не имея Python.Обратите внимание, что у меня нет подключения к Интернету, хотя, если желательно или необходимо, я мог бы.Было бы здорово, если бы кто-то мог указать мне правильное направление.Спасибо !!

Ответы [ 4 ]

1 голос
/ 29 марта 2012

Попробуйте прочитать этот ТАК вопрос.

Также прочитайте эту темуЯ надеюсь, что вы решите проблему.

0 голосов
/ 29 марта 2012

Процедура установки описана в нескольких местах.

0 голосов
/ 29 марта 2012

В README все в порядке ...

Вам не нужно использовать python для установки, на самом деле, вы не должны ... просто:

./configure
make
make install

Если вы хотите установить в определенный каталог, просто следуйте инструкциям README:

Установка

Для установки двоичного файла Python, модулей библиотеки, модулей разделяемой библиотеки (см. Ниже),включите файлы, файлы конфигурации и страницу руководства, просто наберите

    make install

Это установит все независимые от платформы файлы в подкаталогах каталога, указанного с параметром --prefix для настройки или для prefix' Make variable (default /usr/local). All binary and other platform-specific files will be installed in subdirectories if the directory given by --exec-prefix or theexec_prefix 'Задана переменная make (по умолчанию это каталог --prefix).

Если установлен DESTDIR, он будет принят за корневой каталог установки, а файлы будут установлены в $ (DESTDIR) $(префикс), $ (DESTDIR) $ (exec_prefix) и т. д.

Все созданные подкаталоги будут иметь номер версии Python в своем имени, например, библиотечные модули установлены в "/ usr / local / lib / python /«по умолчанию, где находится,номер выпуска (например, "2.1").Двоичный файл Python устанавливается как «python», и создается жесткая ссылка с именем «python».Единственный файл, который не установлен с номером версии в его названии, это страница справочника, по умолчанию установленная как "/usr/local/man/man1/python.1".

Если вы хотите установить несколько версийPython см. В разделе ниже, озаглавленном «Установка нескольких версий».

Единственное, что вам может потребоваться установить вручную, - это режим Python для Emacs, который можно найти в Misc / python-mode.el.(Но опять же, более поздние версии Emacs могут уже иметь его.) Следуйте инструкциям, прилагаемым к Emacs, для установки файлов, специфичных для сайта.

0 голосов
/ 29 марта 2012

РЕДАКТИРОВАТЬ: virtualenv, очевидно, для уже установленных версий Python. Не обращайте внимания на эту рекомендацию.

Я думаю, что вы хотите virtualenv .

Я сам этим не пользовался, но понимаю, для чего он предназначен.

С веб-сайт :

virtualenv - инструмент для создания изолированных сред Python.

Основная проблема, которая решается, - это зависимости, версии и косвенные разрешения. Представьте, что у вас есть приложение, которому требуется версия 1 LibFoo, но другому приложению требуется версия 2. Как вы можете использовать оба этих приложения? Если вы установите все в /usr/lib/python2.7/site-packages (или где-либо в другом месте вашей платформы), легко оказаться в ситуации, когда вы непреднамеренно обновите приложение, которое не должно быть обновлено. *

РЕДАКТИРОВАТЬ: После обзора я думаю, что вы хотите ответ Альберто, поэтому я проголосовал за его видимость.

...