【问题标题】:Understanding python import of gevent了解gevent的python导入
【发布时间】:2014-05-19 18:41:48
【问题描述】:

这对我来说失败了:

import gevent
gevent.monkey.patch_all()

这行得通:

from gevent import monkey
monkey.patch_all()

我通过访问 gevent.monkey 有什么问题吗

另外,我对这个 sn-p 感到困惑:

import gevent as ge
from gevent import monkey
ge.monkey.patch_all()

是什么让 ge.monkey 现在可以访问?如果我从 gevent import monkey 发表评论,这是行不通的。我用过

import datetime
datetime.datetime.now()

效果很好,但猴子不行。

【问题讨论】:

    标签: python gevent monkeypatching


    【解决方案1】:

    monkeygevent 模块内的一个模块

    datetimedatetime 模块中的一个

    当您import x 时,所有x 的对象都被导入(在x 命名空间中)。 但是子模块没有被导入

    虽然您的顶部和底部示例看起来相同,但对象的类型却大不相同。

    【讨论】:

    • 明白。非常感谢。您能否也解释一下我的第三个 sn-p。在这种情况下如何访问 ge.monkey 。模块 gevent 的所有未来导入是否会自动绑定到 ge
    • 是的,完全正确。 ge 是对 gevent 模块的本地引用。通过从gevent 导入monkey,本地ge 对象(只是一个指针)获得对monkey 的相同访问权限
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 1970-01-01
    • 2012-11-06
    相关资源
    最近更新 更多