小编vec*_*cin的帖子

Neovim 内置 LSP 显示没有可用于 Python 文件的代码操作

当我打开 python 文件时,诊断似乎工作正常。然后,我导航到出现诊断错误的行,按快捷方式调用代码操作(在我的例子中为“<space>ca”),然后收到一条消息“没有可用的代码操作”。我尝试运行它以解决不同的错误,例如以下错误:

b =1  #E225 missing whitespace around operator
from jinja2 import StrictUndefined  #'jinja2.StricUndefined' imported but unused
import jjj # import-error: Unable to import 'jjj'
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经尝试了两个 LSP 服务器:pyright 和 pylsp,两者都给了我相同的“没有可用的代码操作”

我见过类似的问题,但 JavaScript在这里询问,它建议安装一个插件,但这对我不起作用。

neovim language-server-protocol pyright python-language-server nvim-lspconfig

7
推荐指数
1
解决办法
9385
查看次数

Python pytest 不显示断言差异

以下测试:

def test_something():
    assert "ddd" == "pepe"
Run Code Online (Sandbox Code Playgroud)

使用 pytest 运行时会出现此错误消息:

E       AssertionError: assert 'ddd' == 'pepe'
E         - ddd
E         + pepe
Run Code Online (Sandbox Code Playgroud)

但是,如果我们将 assert 方法移动到不同的文件assertion.py

class CustomerAssertor(object):
    def __init__(self,name):
        self.name =name

    def assert_name(self,expected):
        assert self.name ==expected
Run Code Online (Sandbox Code Playgroud)

我们将测试更改为:

from sql_gen.test.utils.assertion_util import CustomerAssertor

def test_something():
    CustomerAssertor("ddd").assert_name("pepe")
Run Code Online (Sandbox Code Playgroud)

现在我收到以下错误:

self = <assertions.CustomerAssertor object at 0x7fbcc3d31588>, expected = 'pepe'

    def assert_name(self,expected):
>       assert self.name ==expected
E       AssertionError
Run Code Online (Sandbox Code Playgroud)

此消息的信息量并不大,因为它没有告诉您名称的值是什么,为什么?

python tdd automated-tests assert pytest

6
推荐指数
1
解决办法
1165
查看次数

使用安装在 WSL 上的 Ansible 设置 Windows 10 工作站

我已经在 Windows 10 工作站的 WSL(Linux 的 Windows 子系统)中安装了 Ansible。

我的目标是同时配置 WSL 和 Windows 10 本身。

我能够针对本地主机运行剧本,它通过 SSH 连接和配置 WSL。

但是,我不确定 Ansible 是否可以针对 Windows 主机运行 playbook,以便能够自行设置 Windows(例如,使用 Chocolatey 安装软件包)

这甚至可能吗?或者 Ansible 只能在安装在不同的 Linux 机器上时设置 Windows 节点?

windows ansible ansible-2.x

5
推荐指数
2
解决办法
2137
查看次数