我在Windows 10中使用VSCode作为我的Python IDE。我使用wsl.exe作为我在VSCode中的终端。对于每个项目,我创建一个单独的venv(在wsl.exe中),并使用pip安装所有python模块/包依赖项。要运行python代码(在venv中),以及进出venv,我使用wsl.exe终端。
在我的venv中,我有来自Ubuntu WSL的python 3.6.7。VSCode python解释器是3.7.1。问题是尽管程序运行正常,但VSCode中的pylint找不到导入。每个venv中的Pylint都是使用pip安装的。
必须有一些设置来告诉pylint从venv而不是从本机VSCodepython解释器目标查找导入。
我试着设置"python.venvPath": "C:\\User\\username\\Desktop\\Python\\venvname"
,但没有运气。会不会是我的venvs使用的是linux pyhton,而我的VSCode使用的是windows版本?
我还尝试创建一个工作空间特定的pylint文件,并添加了#init-hook='import sys; sys.path.append("C:\Users\username\Desktop\Python\venv\lib\python3.6")'
,尽管它删除了我破坏linting的错误,因为现在我可以编写胡言乱语的导入。
虽然它不会使VSCode不可用,但导入下的红线确实很烦人。
先谢谢大家。
3条答案
按热度按时间x8diyxa71#
确保你已经在你的venv中安装了一个linter(例如pylint),通常通过运行
pip install pylint
(当你的venv被激活时)如果已设置虚拟环境,则工作区应包含.vscode文件夹。否则,请创建一个...
在
.vscode
文件夹中,打开(或创建)settings.json
文件:该文件应包含(或您应添加):
[This以防你用的是pylint]
js4nwp542#
一种可能性是通过添加以下内容修改
settings.py
(当前项目的工作空间设置):你还得加上
可能需要在可执行文件后面附加
.exe
(不确定,因为我使用的是Linux)。如果这不起作用,我建议切换到Python 3.6.7,您使用它来创建虚拟环境,但是3.7.1应该可以工作。
rhfm7lfc3#
2023更新
现在的python路径略有不同,2023年试试这个。
"python.defaultInterpreterPath": "~/[venv-path-here]/bin/python",