VS Code Code Runner не работает с virtualenvs

Я не могу заставить расширение Code Runner работать с virtualenvs. Всякий раз, когда я пытаюсь запустить код, который импортирует библиотеку, которая установлена ​​только в virtualenv, а не в глобальной установке Python, я получаю ошибку импорта. Запуск точно такой же код в терминале работает.

Я на Windows 10 и у меня установлен Python 3.6.5.

Точная ошибка, которую я получаю:

ModuleNotFoundError: No module named 'bs4'

0 ответов

Я также столкнулся с той же проблемой.

https://stackr u.com/images/1cc458a3e67ab61d0e4cee49659625e3f1b0825a.png Решение, которое я нашел лучше всего, это просто добавить эту строку в настройки пользователя или рабочего пространства (в зависимости от того, что подходит вашим проектам):

"code-runner.executorMap": {
    "python": "C:\\Users\\adarsh_patel\\VisualCode\\env\\Scripts\\activate.bat && python -u",
}

Вы должны войти в свой путь virtualenv, или вы могли бы использовать.

"code-runner.executorMap": {"python":"$pythonPath $fullFileName"}

https://stackr u.com/images/348d644acb87c1290908476ec5f5ccd26e187a54.png

https://stackr u.com/images/b00592ce1a76a1ced7b7926e4b79bcab14670e4a.png

надеюсь, это поможет вам.

Возможным решением было бы установить "code-runner.runInTerminal": true в настройках VS Code, который по умолчанию равен false. При этом Code Runner выполнит код в оболочке, настроенной с помощью "terminal.integrated.shell.windows" установка.

После этого запустите ваш скрипт с помощью Code Runner. Теперь открывается новый терминал, в котором среда Python, выбранная вами с использованием кода VS Python: Select Interpreter будет активирован автоматически перед выполнением кода. (Если среда не активируется автоматически, вы можете сделать это также вручную, просто убедитесь, что вы делаете это в сеансе терминала, который был открыт Code Runner.)

я использую эти способы:

Сначала я предлагаю установить executerMap следующим образом:

  "code-runner.executorMap": {
   "python": "\"$pythonPath\" $fullFileName",
   },

установив это, каждый раз, когда вы меняете версию интерпретатора python в vscode, code-runner будет использовать ту же версию для выполнения вашего кода.

Еще один метод, который я использовал раньше, заключался в следующем:
использовать код shebang в первой строке, например:

#! .\venv\scripts\python.exe

code-runner совместим с командой shebang, и он будет выполнять ваш код с версией python, которую вы упомянули в первой строке.

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

Если вы посмотрите это видео, вы увидите решение через 44,55 минуты, если вы пользователь Mac.

Вы должны определить свой $pythonPath. Однако вам не нужно определять$fullFineName. Это уже сделано за вас, если установлен Code Runner

Добавьте это в настройки пользователя:

"python.pythonPath": "/Users/danielaaa/miniconda3/envs/tf/bin/python",

"code-runner.executorMap": { "python": "$pythonPath -u $fullFileName"}

Я добавил строку shebang в начало файла, указывающую на местоположение моего интерпретатора venv, например.

#!/Users/username/Desktop/venv/bin/python

Code runner, кажется, работает нормально.

Я активировал CodeRunner и столкнулся со всеми теми же проблемами, о которых говорилось выше.

Затем я приступил к pip install requestsмодуль, который в моем случае присутствовал в venv, но не глобально, хотя он уже присутствовал и должен был работать теоретически. О чудо, теперь он работает нормально.

Я предполагаю, что вывод заключается в том, что CodeRunner не поднимает промежуточный поток, если вы устанавливаете его после создания venv.

Добавьте это в настройки пользователя или рабочего пространства

"code-runner.executorMap": {
        "python": "source $workspaceRoot/venv/bin/activate && python3 $fullFileName",
    },
"code-runner.runInTerminal": true

Добавление каталога рабочей области к PYTHONPATH перед запуском скрипт у меня работал:

  "code-runner.executorMap": {
    "python": "export PYTHONPATH=\"$PYTHONPATH:$workspaceRoot\";python -u $fullFileName",
  }
Другие вопросы по тегам