如何设置Visual Studio Code Python Extension的根目录?

mto*_*loo 15 python visual-studio-code

我没有麻烦运行和调试我的VSCode Python扩展(项目ms-python.python),但由于蟒蛇子项目根目录不是整个项目的目录,从我的消息来源全部进口用红色下划线,并在列problems,因此Go to definition,有些类似功能无法正常工作.如何告诉IDE我的项目的起点在哪里:

Whole Project path:
  docs
  server
    entities
      user.py
      customer.py
  env
  viewer
  db
Run Code Online (Sandbox Code Playgroud)

server目录是从以下位置启动导入路径的位置:

from entities.user import User
Run Code Online (Sandbox Code Playgroud)

Bre*_*non 23

您可以使用以下.env命令创建文件: server 这将根据需要添加您的PYTHONPATH文件夹PYTHONPATH.

  • 这个解决方案没有运气:( (3认同)
  • 我必须重新启动VSC才能正常工作-花了很长时间 (2认同)
  • 你能澄清一下吗?我应该把 `.env` 文件放在我项目的 `.vscode` 文件夹或项目根文件夹中的什么位置?它的名字应该只是`.env`,还是应该像`python.env`? (2认同)
  • 那应该是 `print(os.environ.get("PYTHONPATH"))` 即你需要 `.get`() (2认同)

Cyb*_*Fly 22

如果您使用的是Pylance扩展,您可以通过该python.analysis.extraPaths选项设置您的源文件夹。它还查找常见的源文件夹名称src,默认情况下,此选项称为python.analysis.autoSearchPaths.

转到文件 > 首选项 > 设置,搜索 pythonpath。在 Pylance 选项下,您应该看到Extra Paths,这是您设置源文件夹的地方。

  • 只需记住在 **工作区的设置** 中应用此修改,以避免所有项目继承此额外路径 (7认同)
  • Pylance 是我发现的唯一让 VSCode linter 识别我的其他搜索目录的解决方案。谢谢你! (2认同)

Nic*_*ing 11

PYTHONPATH是一个环境变量,您可以设置它来添加其他目录,python 将在其中查找模块和包。

如果需要设置 Visual Studio Code 的工作目录,

更好的方法是自定义Settings.jsonlaunch.json,这样做:

// vi .vscode/Settings.json
{
    "python.pythonPath": "venv/bin/python",
}

Run Code Online (Sandbox Code Playgroud)

use cwdto 指定调试器的当前工作目录,这是代码中使用的任何相对路径的基本文件夹。如果省略,则默认为${workspaceFolder}(在 VS Code 中打开的文件夹)。

// vi .vscode/launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: your project name",
            "type": "python",
            "request": "launch",
            "cwd": "${workspaceRoot}/server",
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

如果你想让服务器在没有任何IDE的情况下正常运行,只需Root Drectory在 前面插入PYTHONPATH. 假设有一个 server/run.py

// vi .vscode/Settings.json
{
    "python.pythonPath": "venv/bin/python",
}

Run Code Online (Sandbox Code Playgroud)

参考:https://code.visualstudio.com/docs/editor/debugging#_launch-versus-attach-configurations

参考: https: //code.visualstudio.com/docs/python/debugging#python-articles

参考:https ://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH