VS Code Code Runner不适用于virtualenvs

sli*_*den 12 python virtualenv python-3.x visual-studio-code vscode-code-runner

我无法使用Code Runner扩展来与virtualenvs一起工作.每当我尝试运行导入仅在virtualenv中安装但不在全局Python安装中的库的代码时,我会收到导入错误.在终端中运行完全相同的代码.

我在Windows 10上安装了Python 3.6.5.

我得到的确切错误是:

ModuleNotFoundError: No module named 'bs4'
Run Code Online (Sandbox Code Playgroud)

小智 7

第一种方法:

首先,我建议这样设置executorMap

  "code-runner.executorMap": {
   "python": "\"$pythonPath\" $fullFileName",
   },
Run Code Online (Sandbox Code Playgroud)

通过设置此项,每次您在 VS Code 中更改 Python 解释器版本时,code-runner 都会使用相同的版本来执行您的代码。

第二种方法:

我之前使用的另一种方法是在第一行中使用 Shebang 代码,如下所示:

#! .\venv\scripts\python.exe
Run Code Online (Sandbox Code Playgroud)

code-runner 与 Shebang 命令兼容,它将使用您在第一行中提到的 Python 版本执行您的代码。


nka*_*zig 6

一种可能的解决方案是"code-runner.runInTerminal": true在VS Code设置中设置,默认情况下为false。这样做,Code Runner将在使用该"terminal.integrated.shell.windows"设置配置的shell中运行代码。

之后,使用Code Runner运行脚本。现在,这将打开一个新终端Python: Select Interpreter,在执行代码之前,您将使用VS Code选择的python环境将自动激活。(如果未自动激活环境,则也可以手动执行此操作,只需确保在Code Runner打开的终端会话中进行此操作即可。)


Ada*_*rsh 6

我也面临同样的问题。

在此处输入图片说明 我发现最好的解决方案是将这一行添加到您的用户或工作区设置中(以适合您的项目的为准):

"code-runner.executorMap": {
    "python": "C:\\Users\\adarsh_patel\\VisualCode\\env\\Scripts\\activate.bat && python -u",
}
Run Code Online (Sandbox Code Playgroud)

您必须输入您的virtualenv路径,否则您可以使用。

"code-runner.executorMap": {"python":"$pythonPath $fullFileName"}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

在此处输入图片说明

希望对您有帮助。

  • 我刚刚放弃使用 Code Runner 扩展...现在我只是在终端中运行我的代码。首先,我激活 virtualenv,然后输入 code 。在项目目录中打开 VS Code。这似乎是目前对我来说最好的方法。然后我按 CTRL + K + A 运行代码。 (2认同)

小智 5

如果您观看视频,如果您是 Mac 用户,您可以在 44.55 分钟看到解决方案。

你必须定义你的$pythonPath. 但是,您不必定义$fullFineName. 如果安装了 Code Runner,它已经为您完成了

将其添加到用户设置中:

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

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