[求教]lsp-pyright 该如何配置虚拟环境? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
jeeyong
V2EX    Python

[求教]lsp-pyright 该如何配置虚拟环境?

  •  
  •   jeeyong 2022-11-11 17:40:09 +08:00 3913 次点击
    这是一个创建于 1064 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前的问题:
    sublime + LSP + lsp-pyright
    不能够正确找到虚拟环境中 python 解析器的路径. 使用的仍旧是默认 python.exe
    所以不能够引入虚拟环境中的包.

    在 lsp-pyright 自定义配置中写入了:
    {
    "venvPath": ".\\venv\\Scripts\\python.exe",
    "venv": "venv"
    }

    通过打印 sys.executable, 使用的仍然是系统默认 python 解析器.

    PS: 我尝试过 venvPath 路径的多种写法.
    "venvPath": "./venv/Scripts/python.exe",
    "venvPath": "python 的绝对路径"
    问题依旧..

    尝试过通过项目内的 pyrightconfig.json 配置.
    或者 Preferences -> Packages settings -> LSP -> Server -> lsp-pyright
    中写入如上配置:

    求指点....
    10 条回复    2022-11-12 10:19:01 +08:00
    jfcherng
        1
    jfcherng  
       2022-11-11 20:23:55 +08:00
    老,我得你不需要做任何事情。

    不如果一定要手的,根 readme https://github.com/sublimelsp/LSP-pyright#virtual-environments
    {
    "venvPath": ".",
    "venv": "venv"
    }

    -------

    > 通过打印 sys.executable, 使用的仍然是系统默认 python 解析器.

    不知道你是怎到件事情的
    jeeyong
        2
    jeeyong  
    OP
       2022-11-12 09:44:03 +08:00
    @jfcherng

    1. 0 配置的情况下, 同样不能够识别到环境中的包. 提示
    ModuleNotFoundError: No module named 'numpy'

    2. 通过在项目配置 pyrightconfig.json 文件, 内容为:
    {
    "venvPath": ".",
    "venv": "venv"
    }

    https://imgur.com/dJa6WW5

    在 sublime 的启动控制台可以看到, LSP-pyright 识别到了虚拟环境中 python 解析器的路径.
    但是执行的时候依旧提示:
    ModuleNotFoundError: No module named 'numpy'

    3. 通过引入 sys 包, 查看当前 python 解析器的路径, 发现使用的是系统默认路径的 python 解析器.
    如果使用 virtualenv:Activate, 就会变成虚拟环境的解析器路径.
    引入包也正常.. 但是如果可以让 sublime+pyright 正确识别虚拟环境, 就完美了..
    jfcherng
        3
    jfcherng  
       2022-11-12 09:48:53 +08:00
    > 但是执行的时候依旧提示:

    跟 pyright 有任何啊...
    jeeyong
        4
    jeeyong  
    OP
       2022-11-12 09:56:59 +08:00
    @jfcherng
    虚拟环境内是有 numpy 包, 通过 activate 激活环境或者 virtualenv:Activate, 再运行是可以的..

    LSP-pyright 是支持虚拟环境的吧?
    jfcherng
        5
    jfcherng  
       2022-11-12 10:00:34 +08:00
    > LSP-pyright 是支持虚拟环境的吧?

    支持啊,你中不就了用了哪 python.exe 。
    但本行和 pyright 半。
    jfcherng
        6
    jfcherng  
       2022-11-12 10:02:18 +08:00
    所以我最一始才有疑

    > > 通过打印 sys.executable, 使用的仍然是系统默认 python 解析器.
    >
    > 不知道你是怎到件事情的

    因你跑 ST 的 build, pyright 不, 但你用了打印 sys.executable 取到了 pyright 所使用的解析器
    jeeyong
        7
    jeeyong  
    OP
       2022-11-12 10:05:13 +08:00
    @jfcherng
    我的理解是...
    pyright 识别到了虚拟环境中的解析器..
    所以在执行脚本的时候, 是能够引用虚拟环境内安装的包, 不是这样的么?
    jfcherng
        8
    jfcherng  
       2022-11-12 10:05:34 +08:00
    如果 pyright 不支持 venv, 你看
    jeeyong
        9
    jeeyong  
    OP
       2022-11-12 10:05:45 +08:00
    @jfcherng 还是说, 依旧需要使用 virtualenv 这类插件去激活虚拟环境..
    jeeyong
        10
    jeeyong  
    OP
       2022-11-12 10:19:01 +08:00
    @jfcherng 理解了...
    pyright 负责代码提示和检查...
    环境激活, 脚本执行的问题是另外的问题..
    我理解你说的
    > 但本行和 pyright 半。

    感谢...
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3030 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 11:50 PVG 19:50 LAX 04:50 JFK 07:50
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86