小编low*_*e00的帖子

pip/python:普通站点包不可写

我有一台新 Macbook - 一个用户安装了它,然后我安装了一个新用户(我的),授予管理员权限并删除了旧用户。我在 OS Catalina 上。

自从安装以来,我一直有几个权限问题。VSCode 找不到 Jupyter Notebook,pip~/Library/Python/3.7/site-packages.

当我这样做时,which python3我得到usr/bin/python3. 当我这样做时,pip3 install <package>我得到:Defaulting to user installation because normal site-packages is not writeable然后它说它已经安装了,即使我在这样做时无法访问它import <package>

很明显,这是一个权限问题,pip无法安装到“基本”python,而且他们python找不到我安装到~/Library/Python/3.7/site-packages.

我试过重新安装操作系统,但由于我没有进行全新安装,它没有改变任何东西。我错过了什么?我究竟该如何修复权限?我希望将软件包安装在哪里(venv当然,但我想要一些全局软件包(如jupyter)。

python pip

52
推荐指数
6
解决办法
13万
查看次数

PRECONDITION_FAILED:使用 Gevent 和并发性在 Celery 和 RabbitMQ 上传递确认超时

我刚刚从 ForkPool 切换到 gevent,并使用并发性 (5) 作为在 Kubernetes Pod 中运行的 Celery Worker 的池方法。切换后,我在工作人员中遇到了不可恢复的错误:

amqp.exceptions.PreconditionFailed: (0, 0): (406) PRECONDITION_FAILED - delivery acknowledgement on channel 1 timed out. Timeout value used: 1800000 ms. This timeout value can be configured, see consumers doc guide to learn more

代理日志给出了基本相同的消息:

2021-11-01 22:26:17.251 [warning] <0.18574.1> Consumer None4 on channel 1 has timed out waiting for delivery acknowledgement. Timeout used: 1800000 ms. This timeout value can be configured, see consumers doc guide to learn more

我已经进行了CELERY_ACK_LATE设置,但不熟悉为确认期设置超时的必要性。在使用进程之前,这种情况从未发生过。任务可能相当长(有时 …

rabbitmq celery kubernetes

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

SQLAlchemy 从 JSON 数据批量插入

我第一次尝试 ORM,试图了解它是如何工作的,但遇到了一些挑战:

我想做的是,将 API 中的 JSON 放入 SQLAlchemy 模型中,然后将所有条目批量插入到我的数据库中。但由于某种原因,我在 SQLAlchemy 中遇到错误。

根据我对错误的理解,在某个时间点,当将数据分配给我的模型时,它被转换为字典,而我认为它应该是class objects.

我的预期结果是成功插入所有条目。有人能帮我弄清楚我可能做错了什么吗?

欣赏。*

错误

sqlalchemy.exc.ProgrammingError:
(mysql.connector.errors.ProgrammingError) 
Failed processing pyformat-parameters;
Python 'dict' cannot be converted to a MySQL type
Run Code Online (Sandbox Code Playgroud)

JSON:

{
"all_orders": [
    {
    "id": 456215587,
    "created_at": "2018-11-04T23:18:18-02:00",
    "order_number": null,
    },
    {
    "id": null,
    "created_at": "2018-11-04T23:18:18-02:00",
    "order_number": 1982,
    }]
}
Run Code Online (Sandbox Code Playgroud)

功能

def update_orders(all_orders):

    cursor = db_cursor()
    session = db_session()
    orders_entries = []

    for orders in all_orders:

       order_id        = orders.get("id", {})
       order_number    = orders.get("order_number", {})
       created_at      = orders.get("created_at", …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask flask-sqlalchemy

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