我正在尝试添加PYTHONPATH环境变量的路径,该路径只能从特定的virtualenv环境中看到.
我SET PYTHONPATH=...在virtualenv命令提示符下尝试过,但是它为整个环境设置了变量.
我如何实现这一目标?
当Pylance被介绍时,我提出了一个关于如何通常自定义 Pylance linting 的问题。在这里,人们可以找到几种自定义 Pylance 的方法,但没有介绍如何抑制、静音或实际禁用某些警告和错误。
回顾一下,使用pylint可以指定以下内容VS Code settings.json来禁用特定错误/警告:
"python.linting.pylintArgs": [
"--disable=C0111"
]
Run Code Online (Sandbox Code Playgroud)
至于背景,由于过多的 Pylance(reportMissingImports) linting 错误尚未解决,并且由于项目需求,我与 Pylance 同时启用了 pylint。尽管如此,这些无数的 Pylance(reportMissingImports) linting 错误仍然很烦人,我想完全消除它们。
我已经将我自己编写的 Python 脚本组织在一个由多个子目录组成的树中,从已经包含在"python.autoComplete.extraPaths"settings-json 中的父目录“Scripts”开始:
"python.autoComplete.extraPaths": ["/home/andylu/Dokumente/Allgemeines_material/Sonstiges/Programming/Python/Scripts",
"/home/andylu/anaconda3/lib/python3.7/site-packages"]
Run Code Online (Sandbox Code Playgroud)
除此之外,我还包含了一个 Python 环境文件:
"python.envFile": "/home/andylu/Dokumente/Allgemeines_material/Sonstiges/Programming/Visual_studio_code/vscode_own_scripts.env"
Run Code Online (Sandbox Code Playgroud)
其中包含该行
export PYTHONPATH=/home/andylu/Dokumente/Allgemeines_material/Sonstiges/Programming/Python/Scripts:/home/andylu/anaconda3/lib/python3.7/site-packages
Run Code Online (Sandbox Code Playgroud)
所有这些以前都很好,我所有的脚本都分布在 1 个以上的单个目录级别,如下所示:
+---Scripts
| +---General
| | +---script_one.py
| | +---script_two.py
Run Code Online (Sandbox Code Playgroud)
当我在任何 python 脚本中导入时,例如script_one.py,我用
import sys
sys.path.append(
"/home/andylu/Dokumente/Allgemeines_material/Sonstiges/Programming/Python/Scripts/"
)
import General.script_one as one
Run Code Online (Sandbox Code Playgroud)
并且 pylint 正确识别了这个导入的脚本,而不会抛出上述VS Code pylint(import-error).
现在,情况不同了。脚本变得如此之多,我将子文件夹拆分General为包含一个额外的子目录级别,以便更清晰地组织脚本:
+---Scripts
| +---General
| | +---Plotting
| | | +---script_one.py
| | | +---script_two.py
| | +---Misc
| …Run Code Online (Sandbox Code Playgroud) 我正在学习 Python 和使用 Flask 设置网络服务器的课程的一部分。我按照 Flask 安装文档中的步骤进行操作,出于某种原因,flask 模块带有下划线,如下所示。当我将鼠标悬停时,我会获得如下附加信息。
无法从源 pylance 解析导入烧瓶
虽然服务器运行良好。我应该忽略通知吗?如果不是,我错过了什么依赖?
下面是设置服务器的代码
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
Run Code Online (Sandbox Code Playgroud)