跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • [求助] VS Code 如何自动加载 PYTHONPATH 等环境变量 [已善用搜索]
未分類
19 4 月 2021

[求助] VS Code 如何自动加载 PYTHONPATH 等环境变量 [已善用搜索]

[求助] VS Code 如何自动加载 PYTHONPATH 等环境变量 [已善用搜索]

資深大佬 : leverestfish 0

最近用 vscode 写 python 感觉包路径搜索有点膈应,故来此询问。

[需求] 自动加载 src 等 content root 目录到搜索目录,不想每次打开 vscode 在命令行手动输export pythonpath = ...

[成果] 目前探索成果:

  • 实现 vscode 解析代码(自动补全等)的搜索路径
    • 通过 setting.json 的"python.envFile"字段以及.env文件
  • 实现 debug 模式 run
    • 通过 lauch.json 的"python.envFile"字段以及.env文件

[问题] 所以 vscode 右上角那个三角形 run 按钮( run python with termianl )触发的代码运行如何才能加载.env

这个三角形 run 应该是 python extension 包带的,不知道哪里能设置环境变量

另外问一下,为什么 vscode 的 python 套件,连 if name == main 这种常用 snippet 都不能补全出来

[环境] macOS 插件的话 python 相关就是 vscode 推荐的那套 extension pack

大佬有話說 (11)

  • 資深大佬 : ch2

    你需要的功能太多了的话,还是 ptcharm 更合适,vscode 对 python 仅限于轻度编辑

  • 資深大佬 : geelaw

    你可以用 .vscofe/settings.json 改变打开模拟终端时使用的 shell 命令(加入设置环境变量的实参),但我不知道这对播放按钮是否有效。

  • 資深大佬 : SenLief

    vscode 不是 ide,他只是编辑器。

  • 資深大佬 : aladdindingding

    这么说吧 Pycharm 解君愁,我也是 vscode 被迫转的,vscode 拿来看看源码,读下代码还是不错的,干活还得 Pycharm

  • 主 資深大佬 : leverestfish

    @ch2 我主力就是使用 pycharm 的,而且正是这个原因使得我对 pycharm 的自动加载 pythonpath 有依赖。但是有的场景(比如需要远程连开发机( pycharm 也可以 remote ssh 但是本质不太一样)),这时候因为我没写 sys.path.append 之类的,所以就很不方便了。

    @geelaw 成功了,setting 配置如下。

    “` JSON
    {
    “terminal.integrated.env.osx”: {
    “PYTHONPATH”: “$PYTHONPATH:<MYPATH>”
    }
    }
    “`

    但是有个小 bug,当我没有打开任何终端的时候,点播放按钮会提示`Command python.execInTerminal-icon not found`

  • 資深大佬 : ClericPy

    呃 其他的你解决了, 那我就提一下 main 的代码片段不能补全的问题, 这个就不是善用搜索能解决的了, 因为不是 bug, 可以参考我之前发过的帖子, 当时找了 2 天, 结果从更新日志里找到的, 坑, 乱调默认设置太郁闷了.

    VSCode 6 天前更新了 Python 扩展, 默认不带代码片段, 不是自动补全坏了, 望周知 – V2EX – https://www.v2ex.com/t/749066#reply7

  • 主 資深大佬 : leverestfish

    @ClericPy 非常感谢!!!!!!

  • 主 資深大佬 : leverestfish

    @ClericPy 顺便问下,如何讲 Snippets 置顶,或者是调整补全选项的出现顺序?以及能否 disable 补全插件自带的一些选项,比如 if for 之类的(没有扩展的坑位完全没用啊)

  • 資深大佬 : ClericPy

    @leverestfish
    顺序的问题还真没注意过… 我把不用的那几个都删了, 扩展的话, 我也没啥其他补全扩展, 一开始用 jedi, 后来 lsp 真香真快, 后来 lsp 太吃内存了换到 pylance 上(现在就是每次查看定义默认是 pyi 很烦)

  • 資深大佬 : generated

    参考配置
    {
    “python.pythonPath”: “venv/Scripts/python.exe”,
    “python.analysis.extraPaths”: [
    “/your_extra_pythonpath”
    ],
    “python.autoComplete.extraPaths”: [
    “/your_extra_pythonpath”
    ],
    “files.watcherExclude”: {
    “**/.git/objects/**”: true,
    “**/.git/subtree-cache/**”: true,
    “**/node_modules/*/**”: true,
    “**/.hg/store/**”: true,
    “**/venv/**”: true
    },
    “search.exclude”: {
    “**/node_modules”: true,
    “**/bower_components”: true,
    “**/venv/**”: true,
    “**/.git/**”: true,
    }
    }

    将你需要补全的目录加到 “python.autoComplete.extraPaths” 和 “python.analysis.extraPaths” 中就可以了

  • 主 資深大佬 : leverestfish

    @generated 解析和自动补全我通过 python.envFile 解决了,但是你这 setting 好像没有解决运行时 pythonpath

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具