Сделать так, чтобы терминал VS Code соответствовал среде отладки на Mac - PullRequest
2 голосов
/ 14 июня 2019

Я преподаю класс Python для начинающих, среда Anaconda, VS Code и git (плюс несколько дополнений из requirements.txt).

Для студентов Windows это работает отлично, однако у студентов Mac есть существующий python (2.7), с которым приходится бороться.

Учащиеся, работающие с Windows (т. Е. У них есть компьютер с Windows), их среда при отладке совпадает с их консольной средой. Однако студенты Mac, похоже, привязаны к своей среде 2.7.

Я пробовал использовать псевдонимы, как предлагалось здесь и здесь

alias python2='python'
alias python='python3'
alias pip2='pip'
alias pip='pip3'

Я изменил файл .bash_profile

echo 'export PATH="/Users/$USER/anaconda3/bin:$PATH"' >>.bash_profile

Кажется, что оба они прекрасно работают для изменения среды своего терминала при внешнем запуске в VS Code. Похоже, что ничего не делает для среды, запущенной из [cmd] + [`].

Я также пробовал conda activate base в терминале, который, кажется, не влияет на python --version или which python

Они могут управлять вещами, используя python 3, но это означает, что им нужно помнить, что они отличаются от других 2/3 учеников. Это другое для них, и больше работы для меня!

У учеников все хорошо, они запускают что-то со своего внешнего терминала, но было бы значительно упростить процесс, если бы среды были максимально согласованными для всех ОС.

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

Есть ли конфигурация, которая будет поддерживать терминал в соответствии с env отладки?

Ответы [ 3 ]

4 голосов
/ 20 июня 2019

По моему мнению, лучшая практика - создавать виртуальные среды Python (лично мне нравится использовать conda среды, особенно на Mac, где вы застряли с несъемной старой версией Python).Тогда VSCode автоматически (после установки очень мощного расширения Python) найдет все ваши виртуальные среды.Таким образом, вы научите своих учеников обращаться с несовместимостями пакетов Python zoo aka.Настройки среды терминала будут соответствовать VSCode, не будучи зависимыми от ненужных псевдонимов.Очевидно, что виртуальные среды не зависят от операционной системы, поэтому вы будете более последовательны и устраните ненужную путаницу между разными учащимися.

Дополнительный бонус virtenvs заключается в том, что вы можете создать его точно в соответствии с вашим requirements.txt и переключаться содин за другим одним щелчком мыши (в терминале требуется две команды: deactivate -> activate).

Подробнее о работе с виртуальными средами Python можно узнать на сайте VSCode

3 голосов
/ 19 июня 2019

Python в vscode позволяет вам выбрать, какой интерпретатор будет использоваться для запуска сценариев.
Он находится в настройках в "python.pythonPath", просто установите его так, чтобы он указывал на выбранный интерпретатор.
Он может быть установлен наа также на основе проекта (то есть как вы гарантируете, что проект с виртуальной средой будет выполняться с использованием этого интерпретатора и пакетов), вы просто выбираете Рабочая область на панели настроек и добавляете туда требуемый интерпретатор python.

3 голосов
/ 17 июня 2019

Поскольку псевдонимы запускаются только один раз и не являются постоянными в .bash_profile, python предназначается для интерпретатора по умолчанию, а не для ожидаемого интерпретатора conda python3.

Попробуйте использовать символическую ссылку python3 conda для захвата пространства имен python

ln -sf /Users/$USER/anaconda3/bin/python3 /Users/$USER/anaconda3/bin/python

Это создаст или обновит символическую ссылку. Используйте тот же подход для pip и pip3.

...