Spyder Anaconda – выберите интерпретатор Python

Вопрос или проблема

Я установил Anaconda (x64 Linux) и использую её Python 3.

Когда я ввожу which python, я получаю

/home/hinckelbc/anaconda3/bin/python

Теперь, чтобы отобразить версию, я ввожу python -V, и получаю

Python 3.6.4 :: Anaconda, Inc.

Что нормально, поскольку я использую Python 3 из Anaconda.

Если я запускаю Spyder из терминала, просто введя spyder, он запускается, и я вижу, что интерпретатор Python действительно является Python 3 из Anaconda, как показано ниже:

Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19)
Введите "copyright", "credits" или "license", чтобы получить дополнительную информацию.

IPython 6.2.1 -- усовершенствованный интерактивный Python.

!which python
/home/hinckelbc/anaconda3/bin/python

! python -V
Python 3.6.4 :: Anaconda, Inc.

Spyder, работающий на моей машине, следующий:

hinckelbc@BCArg:~$ which spyder
/home/hinckelbc/anaconda3/bin/spyder

Чтобы не открывать терминал каждый раз и вводить spyder, я создал следующий файл spyder.desktop ~/.local/share/applications/spyder.desktop, который выглядит так:

[Desktop Entry]
Type=Application
Name=Spyder
Exec=/home/hinckelbc/anaconda3/bin/spyder
Icon=/home/hinckelbc/anaconda3/pkgs/spyder-3.2.6-py36_0/info/icon.png
Terminal=false

После этого я смог найти Spyder с помощью клавиши Super, что затем было добавлено в мой лаунчер простым перетаскиванием (Gnome 3, Ubuntu 17.10).

Однако, когда я открываю Spyder, щелкнув по значку, который теперь в моих избранных, я получаю:

Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19)
Введите "copyright", "credits" или "license" для получения дополнительной информации.

IPython 6.2.1 -- усовершенствованный интерактивный Python.

! which python
/usr/bin/python

! python -V
Python 2.7.14

Что не совпадает с интерпретатором python, который я установил вручную в Spyder, как показано ниже:

Снимок экрана настроек Spyder

Кто-нибудь знает, как это решить, т.е. как запустить Python 3 в Spyder с помощью значка рабочего стола, который я создал и добавил в свои избранные?

Ваше окружение отличается.

Терминал spyder наследует переменную PATH от своего родителя, процесса Spyder, который имеет другое окружение:
– Когда вы запускаете spyder из PATH, это путь оболочки, который включает …/conda/bin благодаря вашему .bashrc / .zshrc
– Когда вы запускаете из .desktop, окружение – это то, что с /etc/profile (и, возможно, .profile ?)

Короче говоря, одно из решений – запускать через вашу оболочку:

Exec="bash -c .../spyder"

…и убедитесь, что вы добавили conda/bin в ваш PATH в .bash_profile или посмотрите [Как загрузить .bashrc из “bash -c”][1].

Ответ или решение

Чтобы настроить интерпретатор Python в Spyder, установленном через Anaconda в Ubuntu, и обеспечить правильную работу при открытии приложения с помощью значка на рабочем столе, вам необходимо внести изменения в файл .desktop. Проблема, с которой вы столкнулись, заключается в том, что при запуске Spyder из меню приложений переменная окружения PATH отличается от той, что используется, когда вы запускаете Spyder из терминала. Это приводит к тому, что Spyder использует другой интерпретатор Python.

Решение проблемы с интерпретатором Python в Spyder

  1. Изменение файла .desktop
    Вам нужно откорректировать ваш файл spyder.desktop, чтобы гарантировать, что Spyder будет запускаться в контексте вашей среды Anaconda. Вот шаги, как это сделать:

    • Откройте файл spyder.desktop для редактирования:

      nano ~/.local/share/applications/spyder.desktop
    • Измените строку Exec на следующую:

      Exec=gnome-terminal -- /bin/bash -c "/home/hinckelbc/anaconda3/bin/spyder; exec bash"

      Эта команда сначала откроет терминал, затем запустит Spyder в контексте вашей среды Anaconda и оставит терминал открытым после закрытия Spyder. Это позволяет сохранить все настройки PATH, которые были установлены при запуске терминала.

  2. Настройка PATH
    Убедитесь, что в вашем ~/.bash_profile, ~/.bashrc или ~/.zshrc файле добавлена строка для установки правильного PATH для Anaconda:

    export PATH="/home/hinckelbc/anaconda3/bin:$PATH"

    Это гарантирует, что при запуске оболочки ваш интерпретатор будет корректно распознан.

  3. Проверка конфигурации Spyder
    Если после этих изменений Spyder все еще запускается с неправильным интерпретатором, проверьте настройки интерпретатора в самой программе:

    • Запустите Spyder (в этой версии он должен запуститься корректно).
    • Перейдите в меню: Tools -> Preferences -> Python Interpreter.
    • Убедитесь, что выбран интерпретатор Python из вашей Anaconda среды:
      /home/hinckelbc/anaconda3/bin/python

Итог

После выполнения этих шагов, при запуске Spyder через значок на рабочем столе, он должен использовать правильный интерпретатор Python из Anaconda. Если проблемы все еще сохраняются, вам стоит проверить другие конфигурационные файлы или какие-либо дополнительные настройки системы, которые могут вмешиваться в изменение PATH.

Эти корректировки позволят вам удобно использовать Spyder без необходимости каждый раз запускать его через терминал, что поднимет вашу продуктивность при работе с Python и проектами в Anaconda.

Оцените материал
Добавить комментарий

Капча загружается...