文章目录

  • 在VScode中安装python插件
  • 解决报错SyntaxError: Non-ASCII character '\xef' in file
  • 解决报错"No module named 'xxx' "
  • VScode上使用Jupyter Notebook的方法
  • 20.02.26 最新方法:Code Runner插件一键安装(python、java、C++)
  • 终端目录切换问题
  • 运行文件先自动保存
  • 补充:VScode使用wsl作为terminal
  • code runner指定python解释器


在VScode中安装python插件




VScode 设置 python import vscode python import报错_当前目录


选择合适的解释器

VScode 设置 python import vscode python import报错_python_02

运行python文件

VScode 设置 python import vscode python import报错_python_03


此时可能会出现一些报错,下面会一一解决

解决报错SyntaxError: Non-ASCII character ‘\xef’ in file

在程序第一行加上这句话# -*- coding: utf-8 -*即可

解决报错"No module named ‘xxx’ "

这个问题的解决方法我主要参考了下面的博客
VScode Python no module的解决方法


这时再运行python就不会出现导入包报错了,也不会有中文字符报错的问题了(后来不知道为什么,第一行不加# -*- coding: utf-8 -*,也不会出现字符报错了,神奇!)

VScode 设置 python import vscode python import报错_当前目录_04


至此VScode的python开发环境配置完成!


说明

pythonPath的设置是根据你设置的解释器为止而定的

VScode 设置 python import vscode python import报错_当前目录_05

VScode上使用Jupyter Notebook的方法

在命令面板上创建一个Jupyter Notebook文件

VScode 设置 python import vscode python import报错_vscode_06


效果如下

VScode 设置 python import vscode python import报错_java_07


这样就可以不用通过终端输入jupyter notebook,然后在浏览器打开了,直接可以在VScode中运行Jupyter Notebook,美滋滋!

参考资料

20.02.26 最新方法:Code Runner插件一键安装(python、java、C++)

项目地址:https://github.com/formulahendry/vscode-code-runner

使用Code Runner插件即可完成多种环境的搭建,如C++, python

你只需要在设置中添加正确的路径即可

VScode 设置 python import vscode python import报错_vscode_08


在settings.json(全局)中添加正确的路径即可

VScode 设置 python import vscode python import报错_当前目录_09


运行快捷键我自定义为Command + B

使用coderunner的好处时,执行不同C++文件时只会生成一个a.exe文件,不会生成多个问题的可执行文件


终端目录切换问题

  • 当我设置的是"python": "/usr/local/bin/python3"时,运行python文件时,终端不会切换到这个文件所在的目录,这会导致有时你要输出一个文件,结果这个输出文件被保存在了之前的终端目录中,这是让人不爽的
  • VScode 设置 python import vscode python import报错_java_10

  • 解决方法:将上面的python设置代码替换为"python": "cd $dir && python3 $fileName" 即可先进入当前文件所在目录,再用python3执行当前文件,这样输出文件就会保存在当前文件了
  • VScode 设置 python import vscode python import报错_vscode_11

"code-runner.executorMap": {
        // arguments: $dir $filename $fileNameWithoutExt $fullFileName
        // == c++
        "cpp": "cd $dir && g++ -std=c++11 $fileName -o a.exe && ./a.exe",
        // == python (进入当前目录,output会在当前目录)
        "python": "cd $dir && python3 $fileName",
        // == python (不进入当前目录,output会在原目录)
        // "python": "/usr/local/bin/python3",
        // == java 
        "java": "cd $dir && javac $fileName && java $fileNameWithoutExt"
    },

运行文件先自动保存

在settings.json中添加如下代码

// auto save files before run code
"code-runner.saveAllFilesBeforeRun": true

关闭之前用的python插件,可以看到底部的python版本就没有了

VScode 设置 python import vscode python import报错_vscode_12

两种方法都行,一个是python插件(只能运行python),一个是code-runner插件(可以运行c++、python、java等)


其他说明

使用 VSCode 在 Mac 上配置 C/C++ 调试环境


补充:VScode使用wsl作为terminal

选择terminal

VScode 设置 python import vscode python import报错_vscode_13

因为wsl会以/mnt开头,所以在使用功能code runner的时候要在配置中加上下面代码

"code-runner.terminalRoot": "/mnt/"

设置完成后的效果:

VScode 设置 python import vscode python import报错_java_14

BTW,用WSL的g++编译cpp的速度比之前的powershell要快多了

code runner指定python解释器

VScode 设置 python import vscode python import报错_vscode_15

"code-runner.terminalRoot": "/mnt/",
    "code-runner.executorMap": {
        // https://github.com/formulahendry/vscode-code-runner
        // arguments: $dir $filename $fileNameWithoutExt $fullFileName
        // == c++
        "cpp": "cd $dir && g++  -std=c++11 $fileName -o a.exe && ./a.exe",
        // == python (进入当前目录,output会在当前目录)
        "python": "cd $dir && /mnt/d/softwares/anaconda3/envs/pytorch/python.exe $fileName",
        // == python (不进入当前目录,output会在原目录)
        // "python": "/usr/local/bin/python3",
        // == java 
        "java": "cd $dir && javac $fileName && java $fileNameWithoutExt"
    },
    // coderunner 自动清除之前的内容
    // "code-runner.clearPreviousOutput": true,
    "code-runner.ignoreSelection": true,
    // auto save files before run code
    "code-runner.saveAllFilesBeforeRun": true,