我无法获得Code Runner扩展来与virtualenvs一起使用。每当我尝试运行导入仅在virtualenv而非全局Python安装中安装的库的代码时,都会出现导入错误。在终端中运行完全相同的代码。
我在Windows 10上,并且安装了Python 3.6.5。
我得到的确切错误是:
ModuleNotFoundError: No module named 'bs4'
答案 0 :(得分:3)
我也面临着同样的问题。
我发现最好的解决方案是将这行添加到您的 用户或工作空间设置(适合您的项目):
"code-runner.executorMap": {
"python": "C:\\Users\\adarsh_patel\\VisualCode\\env\\Scripts\\activate.bat && python -u",
}
您必须输入您的virtualenv路径,否则您可以使用。
"code-runner.executorMap": {"python":"$pythonPath $fullFileName"}
希望这对您有所帮助。
答案 1 :(得分:2)
可能的解决方案是在VS Code设置中设置 "styles": [
"src/styles.css",
"node_modules/primeicons/primeicons.css",
"node_modules/primeng/resources/themes/nova-light/theme.css",
"node_modules/primeng/resources/primeng.min.css"
],
,默认情况下为false。这样,Code Runner将在使用"code-runner.runInTerminal": true
设置配置的shell中运行代码。
然后,使用Code Runner运行脚本。现在,这将打开一个新终端,在执行代码之前,将使用VS Code的"terminal.integrated.shell.windows"
选择的python环境将自动激活。
(如果环境没有自动激活,您也可以手动执行此操作,只需确保在Code Runner打开的终端会话中进行即可。)
答案 2 :(得分:2)
我在文件的开头添加了shebang行,指向我的venv解释器位置,例如。
#!/Users/username/Desktop/venv/bin/python
代码运行器似乎工作正常。
答案 3 :(得分:2)
第一种方法:
首先,我建议这样设置executorMap
:
"code-runner.executorMap": {
"python": "\"$pythonPath\" $fullFileName",
},
通过设置此选项,每次在VS Code中更改Python解释器版本时,代码运行器都会使用相同版本来执行代码。
第二种方法:
我之前使用的另一种方法是在第一行中使用Shebang代码,如下所示:
#! .\venv\scripts\python.exe
code-runner与Shebang命令兼容,它将使用第一行中提到的Python版本执行代码。
答案 4 :(得分:1)
我激活了CodeRunner,并遇到了上述所有相同的问题。
然后,我继续进行pip install requests
这个模块,该模块在我的情况下存在于venv中,但不存在于全球范围内,即使该模块已经存在并且在理论上应该已经在工作。瞧,它现在可以正常工作了。
我想得出的结论是,如果在venv创建后安装CodeRunner,它就不会中游。
答案 5 :(得分:1)
如果您观看this视频,则如果您是Mac用户,则可以在44.55分钟看到解决方案。
您必须定义$pythonPath
。但是,您不必定义$fullFineName
。如果已安装Code Runner,则已经为您完成了
将此添加到用户设置:
"python.pythonPath": "/Users/danielaaa/miniconda3/envs/tf/bin/python"
,
"code-runner.executorMap": { "python": "$pythonPath -u $fullFileName"}
答案 6 :(得分:0)
将此添加到您的用户或工作空间设置
"code-runner.executorMap": {
"python": "source $workspaceRoot/venv/bin/activate && python3 $fullFileName",
},
"code-runner.runInTerminal": true
答案 7 :(得分:0)
在运行对我有用的脚本之前,将工作区目录追加到PYTHONPATH
:
"code-runner.executorMap": {
"python": "export PYTHONPATH=\"$PYTHONPATH:$workspaceRoot\";python -u $fullFileName",
}