(Отказ от ответственности: говорит о системе Unix (Me On Linux) здесь)
Я прошел курс по робототехнике, используя Операционная система робота (АФК). Однако я всегда держу Miniconda3
Установка для обработки моих приключений по науке о данных и соответствующих зависимостей. Чтобы уточнить, он устанавливает Conda
, менеджер пакетов общего назначения – хотя на самом деле я использую его только для установки библиотек Python – и Python 3.6 Анкет
Что происходит, так это то, что ROS использует System Python – то есть Python 2.7 Анкет Проблема возникает, если вы устанавливаете свой «путь к питону», чтобы по умолчанию в отношении проблемы Miniconda3
, процедура, которая автоматизирована, когда вы признаете, что Miniconda3
Установщик добавляет следующую строку к вашему .bashrc
файл.
export PATH="/home/user/miniconda3/bin:$PATH"
Другими словами, каждый раз, когда вы открываете оболочку, ваша система устанавливает интерпретатор Python на систему Miniconda3
, который является версией 3.6. Таким образом, каждый раз, когда я запускал что -то из ROS, это сбоялось с запуска сценариев Python, которые были написаны в версии 2.7, а именно из -за различий в синтаксисе на Печать
командование между двумя версиями.
После прочтения Conda’s Документация по предмету , Я решил проверить свою способность реализовать свое предложенное решение, то есть:
- Удалить
Miniconda3
изДОРОЖКА
Создать символики к трем компонентам
Miniconda3
конда
активировать
деактивировать
- Добавьте эти символики в
ДОРОЖКА
Удалить Miniconda3
из Путь
, нужно просто прокомментировать или удалить вышеупомянутую строку в .bashrc
Файл, используя текстовый редактор, как Нано
Например.
Теперь, когда это сделано, давайте создадим символики Анкет Симпиль, для целей этого поста, похожа на указатель на какой -то другой исполняемый файл и будет функционировать в качестве команды. Я создал определенную папку ( .symlinks
) только для этого.
mkdir .symlinks cd .symlinks
Теперь, когда мы в .symlinks
Папка, давайте на самом деле создадим символики.
ln -s /home/user/miniconda3/bin/conda conda ln -s /home/user/miniconda3/bin/activate activate ln -s /home/user/miniconda3/bin/deactivate deactivate
Чтобы убедиться, что они были созданы, запустите лауреат -l
(списки файлов) в .symlinks
Папка, вы сможете увидеть указатели.
lrwxrwxrwx 1 user user 34 Nov 9 14:08 activate -> /home/user/miniconda3/bin/activate lrwxrwxrwx 1 user user 31 Nov 9 14:10 conda -> /home/user/miniconda3/bin/conda lrwxrwxrwx 1 user user 36 Nov 9 14:08 deactivate -> /home/user/miniconda3/bin/deactivate
Наконец, мы добавляем .symlinks
папка на путь. Но мы хотим, чтобы эти команды Symlink были автоматически доступны каждый раз, когда мы открываем новую оболочку. Ответ состоит в том, чтобы «добавить» их в сценарий, который запускается каждый раз, когда открывается оболочка: .bashrc
файл. Итак, добавьте эту строку в указанный файл.
export PATH="/home/user/.symlinks:$PATH"
Чтобы изменения вступили в силу, вы можете закрыть и открыть терминал, но почувствовать себя профессионалом, не выполняя этого движения, запустите Источник .bashrc
.
Теперь, если вы запустите Python --версия
Вы получите систему Python обратно.
user@ryzen:~$ python --version Python 2.7.12
Если вы хотите использовать Python 3.6 из корня Conda Environment В делать
user@ryzen:~$ source activate root (root) user@ryzen:~$ python --version Python 3.6.3 :: Anaconda, Inc.
Как вы можете видеть из Python --версия
Немного, мы сейчас используем интерпретатор 3.6. Если я хочу активировать среду, в которую я установил D ata S Библиотеки Cience 1 Я бы бежал Источник активируется дюймовый
.
Теперь, когда новый интерпретатор активирован, вы можете запустить сценарии, которые были написаны для этого переводчика. В любом случае, если вам нужно вернуться к переводчику системы (2.7) на текущей оболочке, то бежать
(root) user@ryzen:~$ source deactivate user@ryzen:~$ python --version Python 2.7.12
Как видите, мы вернулись к 2.7. Таким образом, вы можете запустить программное обеспечение, которое запускается в этой версии без проблем, и переключаться на ваши выходки 3.6, когда захотите. 😁
Хорошего. 😁
1 : Я думаю конда
не позволяет устанавливать пакеты для корни и заставляет пользователей создавать свои собственные среды, чтобы стимулировать передовую практику. Не то чтобы я проверил, просто личный опыт.
Оригинал: “https://dev.to/bgalvao/conda–dealing-with-conflicting-pythons-in-your-system-62n”