удалить Python, установленный путем компиляции источника?

NetworkManager используют динамическую конфигурацию, сохраняют настройки с gconf для каждого пользователя, тогда как сетевые сценарии являются системой глобальные файлы конфигурации, Вы никогда не синхронизировали их, и Вы не должны.

Когда использовать их?

В большинстве случаев, если Вы всегда используете, например, dhcp на Вашей рабочей станции, Вы не нуждаетесь в networkmanager, просто настраиваете его в сетевых сценариях, (и выключаете NM),

Но для ноутбука, который может использовать беспроводную связь, pppoe по мере необходимости, (например, Вы перемещаетесь между офисом и домой) Вам будет нужен NetworkManager, чтобы быть более адаптивными.

19
18.03.2015, 07:07
4 ответа

Следующие команды удалят ваш и сделают altinstall -ed python:

rm -f /usr/local/bin/python2.7
rm -f /usr/local/bin/pip2.7
rm -f /usr/local/bin/pydoc
rm -rf /usr/local/bin/include/python2.7
rm -f /usr/local/lib/libpython2.7.a
rm -rf /usr/local/lib/python2.7

Вам также может понадобиться сделать

rm -f /usr/local/share/man/python2.7.1
rm -rf /usr/local/lib/pkgconfig
rm -f /usr/local/bin/idle
rm -f /usr/local/bin/easy_install-2.7

Хотя и сделает altinstall, если "системный питон" имеет иной мажорный номер, чем тот, который вы устанавливаете, он не будет работать так хорошо, если только микро-номер (третья позиция) будет отличаться. Это число исключается из устанавливаемого двоичного кода, и в итоге вы получаете две версии pythonX.Y. Это всегда было проблемой, но как только дистрибутивы начали поставляться с системными утилитами, основанными на 2.7.X, эта проблема стала более серьезной, так как 2.7 предположительно является последней версией серии Python2.

IMO лучший подход к решению этой проблемы - не допустить, чтобы она стала таковой: настроить питон на установку в каталог, не используемый никаким другим питоном. В моей системе они идут под /opt/python/X.Y.Z.

Для использования любого из установленных там питонов вы используете [virualenv][1] для создания нового окружения:

virtualenv --python=/opt/python/2.7.9/bin/python2.7 venv
source venv/bin/activate

или используете [virtualenvrapper][2]. У меня есть несколько псевдонимов для последних версий серии, с которыми я работаю.

Если вы используете tox для тестирования на нескольких версиях (вам следует), то следующий псевдоним поможет найти различную версию:

alias tox='PATH=/opt/python/2.7.9/bin:/opt/python/2.6.9/bin:/opt/python/3.4.3/bin:/opt/python/3.3.6/bin:/opt/python/3.5-dev/bin:$PATH tox'

(это в настоящее время последние версии, я использую несколько другую установку, поддерживая ссылки с /opt/python/2. 7 до последней /opt/python/2.7.9, а также для других второстепенных номеров, в процессе загрузки, создания и установки новой версии питона)

Эти установки никогда не используются напрямую. Они всегда используются в качестве основы только для сред virtualenv, поэтому меня не волнует, что они не находятся в моем обычном PATH.

20
27.01.2020, 19:45

Обычно все файлы устанавливаются почти за одну минуту. Вы можете использовать «найти», чтобы проверить все установленные файлы почти одновременно, а затем «rm» их вручную. Желаю, чтобы это было полезно.

find /usr/local/ -type f -newer <some latest old file>
1
27.01.2020, 19:45

Начав со списка rm@Anthon и применив совет @bin -по поиску новых файлов, я придумал этот скрипт bash -, чтобы полностью стереть -мой Python -3.6.6 (, который был установлен из источников сmake altinstall):

prefix='/usr/local/'
pyver='3.6'

rm -rf \
    $HOME/.local/lib/Python${pyver} \
    ${prefix}bin/python${pyver} \
    ${prefix}bin/python${pyver}-config \
    ${prefix}bin/pip${pyver} \
    ${prefix}bin/pydoc \
    ${prefix}bin/include/python${pyver} \
    ${prefix}lib/libpython${pyver}.a \
    ${prefix}lib/python${pyver} \
    ${prefix}bin/python${pyver} \
    ${prefix}bin/pip${pyver} \
    ${prefix}bin/include/python${pyver} \
    ${prefix}lib/libpython${pyver}.a \
    ${prefix}lib/python${pyver} \
    ${prefix}lib/pkgconfig/python-${pyver}.pc \
    ${prefix}lib/libpython${pyver}m.a \
    ${prefix}bin/python${pyver}m \
    ${prefix}bin/2to3-${pyver} \
    ${prefix}bin/python${pyver}m-config \
    ${prefix}bin/idle${pyver} \
    ${prefix}bin/pydoc${pyver} \
    ${prefix}bin/pyvenv-${pyver} \
    ${prefix}share/man/man1/python${pyver}.1 \
    ${prefix}include/python${pyver}m
rm -rI ${prefix}bin/pydoc ## WARN: skip if other pythons in local exist.

Используйте с осторожностью (напр. добавьте опцию -Iв команду rm, чтобы проверять каждое убийство ).

19
27.01.2020, 19:45

В итоге я сделал следующее:

  1. перестройте и установите Python, который вы хотите удалить, используя собственный префикс, скажем,$HOME/opt/Python-3.8.0:tar tJf Python-3.8.0.tar.xz && cd Python-3.8.0 &&./configure --prefix $HOME/opt/Python-3.8.0 && make && make install
  2. cd $HOME/opt/Python-3.8.0 && find * -type f | perl -pe's(^)(/usr/)' | sudo xargs rm
  3. rm -rf ~/opt/Python-3.8.0
2
03.03.2020, 13:43

Теги

Похожие вопросы