Я установил Python 2.7.9 на Ubuntu 14.04 путем компиляции его источника , на .configre
, make
и make altinstall
. make altinstall
потому что я не хочу перезаписывать Python 2.7.6 по умолчанию. Самостоятельно установленный 2.7.9 находится во /usr/local/bin/python2.7
многих других файлах в других каталогах /usr/local
. Из README в исходном установочном пакете:
В системах Unix и Mac, если вы собираетесь установить несколько версий Python с использованием одного и того же префикса установки (аргумент --prefix для скрипта configure), вы должны позаботиться о том, чтобы ваш основной исполняемый файл python не был перезаписан при установке другой версии.
Все файлы и каталоги, установленные с помощью «make altinstall», содержат главную и вспомогательную версии и, следовательно, могут работать бок о бок. «make install» также создает $ {prefix} / bin / python, который ссылается на $ {prefix} /bin/pythonX.Y.
Если вы намереваетесь установить несколько версий, используя один и тот же префикс, вы должны решить, какая версия (если есть) является вашей "основной" версией. Установите эту версию, используя «make install». Установите все остальные версии, используя «make altinstall».
Например, если вы хотите установить Python 2.5, 2.6 и 3.0 с 2.6 как основной версией, вы должны выполнить «make install» в вашем каталоге сборки 2.6 и «make altinstall» в других.
Теперь я хочу удалить самостоятельно установленную 2.7.9.
К счастью, у меня все еще есть исходный код, но, к сожалению, в Makefile нет раздела удаления
$ sudo make uninstall make: *** No rule to make target `uninstall'. Stop.
Затем я попробовал другой способ: сначала создайте deb из исходного кода и компиляции, установите deb (возможно, перезаписывая установленные файлы
make altinstall
), а затем удалите deb.Но когда я создаю файл deb с помощью
checkinstall
, я не уверен, что и как мне следует поступить иначе, чем дляmake altinstall
formake install
. Что я пробовал это:$ checkinstall altinstall ... Installing with altinstall... ========================= Installation results =========================== /var/tmp/tmp.4ZzIiwqBNL/installscript.sh: 4: /var/tmp/tmp.4ZzIiwqBNL/installscript.sh: altinstall: not found ...
Интересно, как я могу создать deb, чтобы установка deb дублировала процесс установки
make altinstall
?Или как вы можете удалить мой python 2.7.9?
Примечание: пакет с исходным кодом в первой ссылке также имеет setup.py
, install-sh
кроме того README
.
источник
/usr/local
используется вместо/usr
.dpkg -L python2.7
иdpkg -L python2.7-minimal
. А для чего тебе нужно2.7.9
?apt-get install python-pip
.Ответы:
Следующие команды удаляют ваш
make altinstall
-ed python:Вы также можете сделать
Хотя
make altinstall
это хорошо мне помогло, если «системный питон» имеет номер major.minor, отличный от того, который вы устанавливаете, он не работает так хорошо, если отличается только микро номер (третья позиция). Это число исключено из установленного двоичного файла, и вы получите две версии pythonX.Y. Это всегда было проблемой, но как только дистрибутивы начали поставляться с системными утилитами, основанными на 2.7.X, эта проблема стала более серьезной, поскольку версия 2.7 должна быть последней из серии Python2.IMO лучший подход для решения этой проблемы - не дать ей стать единым: настройте python для установки в каталог, не используемый никаким другим python. В моей системе они идут под
/opt/python/X.Y.Z
.Чтобы использовать любой из установленных там Pythons, вы
[virualenv][1]
создаете новую среду:или использовать
[virtualenvwrapper][2]
. У меня есть псевдонимы для последних версий серии, с которой я работаю.Если вы используете
tox
для тестирования несколько версий (вы должны), следующий псевдоним поможет найти другую версию:(в настоящее время это последние версии, я использую несколько иную настройку, поддерживая ссылки
/opt/python/2.7
на самые последние/opt/python/2.7.9
, а также на другие второстепенные номера в процессе загрузки, сборки и установки новой версии python)Эти установки никогда не используются напрямую. Они всегда используются в качестве основы
virtualenv
только для окружения, поэтому мне все равно, что они не входят в мой обычный PATH.источник
pip
внешним сервером ниvirtualenv
на одной установке LinuxНачиная со
rm
списка @ Anthon и применяя рекомендации @ bin-s для поиска новых файлов, я разработал этот bash-скрипт, чтобы полностью стереть мой Python-3.6.6 (который был установлен из исходниковmake altinstall
):Используйте его с осторожностью (например, добавьте
-I
опцию в rm cmd для проверки каждого уничтожения).источник
Обычно все файлы устанавливаются почти за одну минуту. Вы можете использовать «find» для проверки всех установленных файлов почти одновременно, а затем «rm» вручную. Желаю это полезно.
источник