小编And*_*ndi的帖子

使用 pydantic 生成动态模型

我正在尝试使用 Python 库创建一个动态模型pydantic。我的输入数据是常规的dict. 但是,(读取:其键)的内容dict可能会有所不同。
我想知道如何动态创建pydantic依赖于 的dict内容的模型?

我创建了一个带有两个不同dicts (inputs1inputs2) 的玩具示例。我们假设嵌套dict调用strategy可能不同。基于strategy/name我事先知道哪些字段将存在于strategy. 我需要pydantic基于创建模型strategy/name

from pydantic import BaseModel

inputs1 = {
    "universe": {"name": "test_universe", "ccy": "USD"},
    "price_src": "csv",
    "strategy": {"name": "test_strat1"},
}
inputs2 = {
    "universe": {"name": "test_universe", "ccy": "USD"},
    "price_src": "csv",
    "strategy": {"name": "test_strat2", "periods": 10},
}


class Universe(BaseModel):
    name: str
    ccy: str = "EUR" …
Run Code Online (Sandbox Code Playgroud)

python pydantic

20
推荐指数
1
解决办法
3万
查看次数

将私有 GitHub 存储库添加到 pyproject.toml 作为新依赖项

如何将私有 GitHub 存储库定义为文件project部分中的依赖项pyproject.toml

[project]
dependencies = [
    "my_repo_name>=<SSH-address_to_my_private_github_repo>"
]
Run Code Online (Sandbox Code Playgroud)

python pyproject.toml

13
推荐指数
1
解决办法
9442
查看次数

SQLAlchemy 2.0 NotImplementedError:engine.execute

当尝试使用SQLAlchemy v1.4.15 中的方法NotImplementedError: This method is not implemented for SQLAlchemy 2.0.删除表时,我收到一个, 。delete

from sqlalchemy import Column, Integer, MetaData, String, Table, create_engine, delete

engine = create_engine("sqlite+pysqlite:///:memory:", echo=True, future=True)
metadata = MetaData()

user = Table(
    "users", metadata, Column("id", Integer, primary_key=True), Column("name", String)
)

metadata.create_all(engine)

engine.execute(user.delete())  # leading to Traceback
# NotImplementedError: This method is not implemented for SQLAlchemy 2.0.
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

10
推荐指数
1
解决办法
3898
查看次数

Docker:无法删除 macvlan 配置网络

使用portainer,我创建了一个macvlan 配置网络。现在,我想删除这个网络。但是,由于某种原因,我不能。我确实收到以下错误消息:Error response from daemon: error while removing network: configuration network "my_macvlan_config" is in use。奇怪的是,我不认为网络正在使用中。没有容器连接到它。检查网络时,我得到以下结果:

~$ sudo docker network inspect my_macvlan_config
[
    {
        "Name": "my_macvlan_config",
        "Id": "5d95270684516484632c4505e15ba8253bbe8d780b2c41a84a07fbbe09d7a9b6",
        "Created": "2020-05-18T20:59:03.472260896+02:00",
        "Scope": "local",
        "Driver": "null",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "192.168.13.0/24",
                    "IPRange": "192.168.13.200/29",
                    "Gateway": "192.168.13.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": true,
        "Containers": {},
        "Options": {
            "parent": "eth0"
        },
        "Labels": {}
    }
]
Run Code Online (Sandbox Code Playgroud)

Docker …

docker macvlan

7
推荐指数
0
解决办法
1886
查看次数

Python 类型提示:如何将 Literal 与字符串一起使用以符合 mypy?

我想通过使用来限制可能的输入参数typing.Literal

下面的代码工作得很好,但是mypy有抱怨。

from typing import Literal


def literal_func(string_input: Literal["best", "worst"]) -> int:
    if string_input == "best":
        return 1
    elif string_input == "worst":
        return 0


literal_func(string_input="best")  # works just fine with mypy

# The following call leads to an error with mypy:
# error: Argument "string_input" to "literal_func" has incompatible type "str";
# expected "Literal['best', 'worst']"  [arg-type]

input_string = "best"
literal_func(string_input=input_string)
Run Code Online (Sandbox Code Playgroud)

python literals mypy

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

使用cellfun替换条件元素

vec = randi(10,10,1)
vec(vec < 5) = 0

func = @(x) x(x < 5) = 0    % This isn't valid
Run Code Online (Sandbox Code Playgroud)

我该如何将第二行代码转换为可以与之结合使用的函数句柄cellfun

matlab anonymous-function function-handle cell-array elementwise-operations

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

Pandas read_excel usecols 参数:Pycharm 需要 int

Pycharm (v2022.2) 抱怨 的usecols输入参数pd.read_excel。它需要一个单一的int值。另一方面,文档明确指出 alist-like or callable是允许的。

我以前曾经使用过类似的东西,代码实际上按预期工作:

pd.read_excel("test.xlsx", usecols="A:C")  # Pycharm: Expected type 'int', got 'str' instead
Run Code Online (Sandbox Code Playgroud)

另外,不能使用listof int

pd.read_excel("test.xlsx", usecols=[1, 2, 3])  # Pycharm: Expected type 'int', got 'list[int]' instead 
Run Code Online (Sandbox Code Playgroud)

这是 Pycharm 的错误还是我做错了什么?

python pycharm pandas

5
推荐指数
0
解决办法
616
查看次数

MATLAB:如何使用带有结构的cellfun?

想象一个由相同结构(在布局方面)组成的单元阵列,如下例cellArray所示.我如何申请cellfun这些结构的特定领域?

cellArray{1,1}.val1 = 10;
cellArray{1,1}.val2 = 20;
cellArray{1,2}.val1 = 1000;
cellArray{1,2}.val2 = 2000;
Run Code Online (Sandbox Code Playgroud)

如何使用cellfun将值50添加到所有单元格,但仅添加到字段val2

out = cellfun(@plus, cellArray?????, {50, 50}, 'UniformOutput', false);
Run Code Online (Sandbox Code Playgroud)

matlab struct cell-array

4
推荐指数
1
解决办法
256
查看次数

MATLAB:大写字符串数组中的第一个字母

我应该如何访问,比方说,字符串数组的每个成员的第一个字符?例如,我想将每个单词的第一个字母大写.

str = ["house", "stone", "summer"]
Run Code Online (Sandbox Code Playgroud)

string matlab

4
推荐指数
2
解决办法
759
查看次数

使用类型 Union 设置默认值

我想使用 mypy 进行类型检查。函数的一个输入参数接受单个int或一个List[int].

x: Union[int, List[int]]但是,10如果输入参数是单个,我可以使用来设置默认值的正确语法是int什么?

x: Union[int = 10, List[int]] 不管用。

python typechecking mypy

3
推荐指数
1
解决办法
517
查看次数