Vim ALE无法从pipenv导入python模块

2024-04-30 02:56:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Pipenv设置了一个虚拟环境,如下所示:

$ pipenv install Flask

然后我激活了虚拟环境,如下所示:

$ pipenv shell

然后我用以下工具运行我的烧瓶应用程序:

$ flask run

这样,Flask服务器启动,页面被成功地服务

然后在另一个终端中,我再次激活虚拟环境,然后启动vim并编辑我的flask应用程序文件。
这时ALE启动并运行Black并返回Cannot find implementation or library stub for module named "flask"。我理解这是因为flask无法从虚拟环境导入(如果我在虚拟环境之外安装flask,则错误消失)

我已经按照一个类似问题(1)中的建议添加了let g:ale_python_auto_pipenv = 1。但这似乎没有效果。
我还尝试过在虚拟环境中安装Black,正如其他地方建议的那样,但它似乎没有任何作用

我在别处读到(2)一些vim插件解决了这个问题,但找不到要安装的插件。
我还读到(2)必须设置PYTHONPATH环境变量。我尝试将其设置为Pipenv虚拟环境,但没有效果

我应该怎么做才能让vim和ALE知道我当前使用Pipenv创建的虚拟环境中安装的python包?
(顺便说一句,YouCompleteMe似乎也没有完成这些包的定义,但我知道这可能是一个不同的解决方案,因此是一个不同的问题。)

(一)

(2)https://github.com/dense-analysis/ale/issues/1998


Tags: install插件应用程序flaskpipenv虚拟环境vimshell