Как я могу использовать одну конкретную версию Python для всего в Ubuntu 18.04?

У меня проблемы с установкой / удалением вещей с помощью apt. Я думаю, это потому, что у меня есть unistalled python и apt пытается его использовать. У меня есть миниконда, но когда я использую apt, я не получаю доступ к этой версии миниконды. Как мне это сделать?

Больше информации:

$ ls -l /usr/bin/\*python\*  
/usr/bin/python -> /home/neiltheory/miniconda2/bin/python  
/usr/bin/python2 -> python2.7  
/usr/bin/python2.7  
/usr/bin/python3 -> /home/neiltheory/miniconda2/bin/python  
/usr/bin/python3.6  
/usr/bin/python3.6m  
/usr/bin/python3m -> python3.6m  
/usr/bin/x86_64-linux-gnu-python2.7-config  
/usr/bin/x86_64-linux-gnu-python-config -> x86_64-linux-gnu-python2.7-config  

когда я делаю:

 sudo apt remove python3.6  

Я получаю кучу ошибок dpkg и предложение сделать:

apt --fix-broken install  

... который также производит кучу ошибок Python.

Изменить: Решение:

После перекомпоновки соответствующих системных питонов из исходного кода и их установки в том же месте apt а также dpkg начал вести себя снова. Однако все было не совсем хорошо - некоторые из моих программ, которые использовали python, просто не работали на 100%, как следовало бы. В частности, приложение терминала terminator постоянно сбой и физическая программа "MadGraph" тоже не функционировала полностью. Не будучи экспертом по Python и отчаянно нуждаясь в продолжении своей работы, я собрал все, установил свежую Ubuntu и поклялся никогда больше не трогать системные установки Python. Урок усвоен, но, возможно, решение еще не найдено.

Я не уверен в этикете для ответа на свой вопрос, и я не уверен, является ли это ответом на следующий вопрос:

ВОПРОС: Есть ли лучший способ справиться с этим, чем делать полную переустановку?

2 ответа

Никогда не меняйте общесистемные ссылки на python на что-то другое. Это сломает систему пакетов dpkg! Смотрите также этот пост.

Измените ссылки на python и python3 на системные значения по умолчанию, и dpkg/apt-get снова начнет работать.

$ sudo rm /usr/bin/python
$ sudo ln -s /usr/bin/python2.7 /usr/bin/python
$ sudo rm /usr/bin/python3
$ sudo ln -s /usr/bin/python3.6 /usr/bin/python3

Целью миниконды является установка автономной версии python. Это может быть python2 или python3, но этим питоном управляет Miniconda, а не apt, Что установлено apt для системы и, как уже говорили другие, вы должны оставить их в покое.

Установленный Miniconda не находится в /usr/bin/, Это зависит от того, где вы установили Miniconda, но если вы установили его без прав sudo, я думаю, это должно быть в ~/.conda/ где-то.

Кроме того, вы можете активировать Miniconda, используя conda activate или же conda activate <environment name>, Тогда сделай which python найти его. Если вам нужно удалить эти Python, вы можете, потому что они не являются частью системы. (Но обычно это требуется для других пакетов, поэтому я предлагаю вам оставить их в покое.) Посмотрите на conda remove ...,

Другие вопросы по тегам