如何配置 Elpy 以使用安装在 Poetry 项目虚拟环境中的开发依赖项,例如 Black、Jedi 和 flake8,而不是安装在系统范围内的依赖项?
问问题
989 次
2 回答
2
使用poetry.el
Emacs 包并poetry-tracking-mode
启用add-hook
它到elpy-mode-hook
. Elpy 将自动检测 Poetry 虚拟环境并检查该环境中的那些开发工具。
lsp-mode
2021 年 1 月更新:我已经停止使用 Elpy并改用lsp-python-ms
- 这是一种更好的开发体验。唯一需要注意的是它只能发现项目本地的 virtualenvs,因此必须将 Poetry 配置为在本地创建 venvs ( poetry config virtualenvs.in-project true
)。
于 2020-06-17T20:56:22.297 回答
0
如果您使用emacs -nw
,那么另一个选项是
- 在诗歌项目中安装 virtualenvwrapper。那就是运行
poetry add -D virtualenvwrapper
。 - 安装所需的 elpy 依赖项。
M-x elpy-config' to find dependencies. So
诗歌添加-D绝地绳索autopep8 yapf black flake8`。这也可以在 elpy 提示您时完成,但是它可能会作为普通依赖项安装,而不仅仅是 dev 依赖项。 - 添加
(setq elpy-rpc-virtualenv-path 'current)
以便 elpy 为 Virtualenv、Interactive Python、RPC 虚拟环境使用诗歌虚拟环境。 - 通过诗歌启动 emacs
poetry run emacs -nw
您需要为每个诗歌项目执行此操作。应该有办法在 pyenv 中全局安装其中的一些,并让诗歌和项目虚拟 env 拾取它。但是,为每个项目执行此操作会使依赖项保持隔离,即使对于开发人员也是如此。
于 2020-10-01T22:56:39.083 回答