Помощь со структурой Python в * nixes - PullRequest
2 голосов

Я пришел из Windows, если речь идет о средах разработки. Я привык запускать .exe из всего, что мне нужно, и просто забыть.

Я обычно кодирую в php, javascript, css, html и python.

Теперь у меня есть для использования Linux на моей работе в неизменяемой Ubuntu 8.04 с разрешениями на обновление моей системы только с использованием репозиториев компании.

Мне нужно установить Python 2.4.3, чтобы начать кодирование в старой устаревшей системе. У меня был Python 2.5. Я скачал архивы Python 2.4.3, запустил ./configure make и все такое. Все сработало, но теперь установка по умолчанию - моя система - Python2.4 вместо Python2.5.

Я хочу, чтобы вы вернули его обратно, и, если возможно, некоторые материалы для чтения о символических ссылках, множественных установках Python, virtualenvs и т. Д.: Все, что мне нужно знать перед установкой / обновлением модулей Python. Я установил, например, пакет ElementTree и даже не знаю, в какой Python он был установлен.

Заранее спасибо!

Ответы [ 5 ]

2 голосов
/ 05 мая 2010

Возможно, вы установили Python 2.4 в /usr/local/bin, который, в свою очередь, может войти в ваш $PATH до /usr/bin, где живет 2.5. Существуют различные возможные исправления, если это так: простейшим, вероятно, является rm ссылка с именем /usr/local/bin/python (оставляя только системную ссылку с именем /usr/bin/python). Затем вам придется явно использовать python2.4 для запуска установки 2.4, в то время как просто python перейдет к установке Python 2.5, установленной системой.

1 голос
/ 05 мая 2010

Запуск

 sudo apt-get install --reinstall python-minimal python python2.5

должен восстановить установку Python по умолчанию.

В отличие от Windows, Ubuntu поставляется с довольно большим количеством программного обеспечения, упакованного дистрибьютором, и это хорошая идея остатьсяэто пакеты по возможности вместо загрузки программного обеспечения из сети.Ubuntu 8.04 имеет Python 2.4.5 (пакет python2.4), возможно, он вам подходит.

Если вам нужно установить Python из исходного кода, используйте

 ./configure --prefix=/usr/local/

вместо простого.настройки.Это делает python для установки в / usr / local /, поэтому он не перезаписывает файлы дистрибутива

1 голос
/ 05 мая 2010

Для какой версии Python будет выполняться при вызове команды python, вам придется вручную изменить символическую ссылку, на которую указывает /usr/bin/python, но это не изменит то, что система упаковки считает «версия Python по умолчанию» и означает, что вам все равно придется устанавливать библиотеки для конкретной версии, если они отличаются для конкретной версии. К счастью, эти пакеты имеют простое соглашение об именах, вместо python-<foo> они python2.4-<foo>, и установка этих пакетов приведет к правильному пути (в частности, к правильному каталогу site-packages).

EDIT : очевидно, python не управляется альтернативной системой, глупый Debian / Ubuntu

1 голос
/ 05 мая 2010

Если у вас есть root-доступ, вы можете просто создать новую симлинк.

sudo mv /usr/bin/python /usr/bin/python2.4
sudo ln -s /usr/bin/python25 /usr/bin/python

У меня не так уж много опыта с Ubuntu, но, думаю, это ничего не должно затормозить.

Чтобы узнать больше о ln, прочитайте man ln.

0 голосов
/ 05 мая 2010

Откат от @rebus:

sudo ln -s /usr/bin/python2.5 /usr/bin/python

Кажется, сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...