Это достаточно нормально, что большинство людей, которые создают свои собственные среды Python, используют что-то вроде virtualenv для управления ими. Замена предоставляемых системой Perl, Python или Ruby почти никогда не является хорошей идеей, и все три языка предоставляют разработчикам возможность управлять своими собственными частными установками (для Perl есть PerlBrew, а для Ruby есть RVM).
Компиляция моего собственного питона сломала системные скрипты?
(Для тех, кто не знаком с ним, CrunchBang, по сути, является предварительно сконфигурированным Debian Squeeze.)
Некоторое время назад я писал сценарий и хотел использовать функцию Python, представленную в 2.7. Поскольку последней версией, которую я мог получить из репозитория Debian Squeeze, является 2.6.6.8, я решил скачать последний исходный код и собрать его самостоятельно. После того, как я самостоятельно справился с зависимостями, я наконец-то получил работу и закончил свой проект.
Однако с тех пор ряд системных скриптов перестал работать. Я заметил, что все они (теперь сломанные скрипты) начинаются с #!/usr/bin/env python
[1] и зависят от одной или нескольких вещей, которые были установлены apt-get / synaptic, но связаны с Python 2.6. Несколько я исправил, изменив заголовок вручную #!/usr/bin/python
, но теперь я начинаю задумываться
- Это нормально для людей, которые катят свой собственный Python?
- Я как-то неправильно скомпилировал / настроил 2.7?
- Разумно ли ожидать, что пакеты, установленные с помощью apt-get / synaptic, будут «заблокированы» с версией зависимостей, с которыми они были установлены?
- Должен ли я каким-то образом перенастроить / настроить мой $ PATH, чтобы
/usr
файл был найден перед/usr/local
файлом? - Должен ли я просто удалить файл жесткой ссылки / usr / local / bin / python и начать все мои сценарии
#!/usr/local/bin/python2.7
? - Нужно ли вручную устанавливать все недостающие библиотеки и т. Д.
/usr/local
? Если так, каков наилучший способ сделать это? - Должен ли я сообщать об ошибках сопровождающим пакетов, самим проектам или обоим?
[1] Который из-за того, как настроен мой путь, вызывает мой /usr/local/bin/python
(2.7), а не системный /usr/bin/python
(2.6)
1 ответ на вопрос
Похожие вопросы
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
6
Полноэкранная медленная вспышка в KDE 4
-
3
Пакеты в странном состоянии
-
-
4
Есть ли способ компиляции из исходного кода и автоматического отслеживания обновлений?
-
8
Как вы отслеживаете, какие пакеты были установлены в Ubuntu (Linux)?
-
2
Как работает разрешение зависимости yum?
-
7
Как вы отслеживаете, какие пакеты были установлены в Fedora (Linux)?
-
8
Найти, к какому пакету принадлежит файл в Ubuntu / Debian?
-
3
Как я могу создать оглавление для документа уценки с помощью Python / AWK / SED?
-
1
Чтобы установить расширения Markdown с помощью Python