美文网首页
2020-02-25python高手之路学习随笔(6.2)

2020-02-25python高手之路学习随笔(6.2)

作者: 七天七念 | 来源:发表于2020-02-26 00:53 被阅读0次

继续高手之路第六章 分发

入口点
先按照包
pip install entry-point-inspector
查看python提供了入口点的包的命令
epi group list

查看指定入口的具体信息

epi group show console_scripts
console_scripts 可以为指定的入口点函数

为python脚本设置入口函数

foobar222/client.py

#!/usr/bin/env python
#-*- coding:utf-8 -*-


def main():
    print("Client started")

foobar222/server.py

#!/usr/bin/env python
#-*- coding:utf-8 -*-

def main():
    print("Server started")

书上没写的一点,估计这玩意应用的是python2的规则

给foobar222目录里面价一个 init.py

手写setup.py

#!/usr/bin/env python
#-*- coding:utf-8 -*-

from setuptools import setup,find_packages

setup(
    name = "foobar222",
    version = "1",
    author="Julien Danjou",
    author_email="xzwgm81@163.com",
    description = "make in chinese",
    url = "https://www.baidu.com/",
    packages = ["foobar222"],
    entry_points = {
        "console_scripts":["foobard = foobar222.server:main",
                           "foobar = foobar222.client:main",],
    },

)

第三部 注册为入口点函数

运行命令 python setup.py install
接着会自动自动python的系统文件Lib 生成foobar222的egg包
而书上值得控制台脚本应该是生成在了系统目录的Scripts下面,顺带还附送了该py脚本生成的exe

其实到这里我已经明白这玩意是啥了。。。某种程度上来说这适合于python2,而不是python3,对于pytho3来说这种方法已经落伍了。仅仅只是注册函数的话

这玩意的另一个作用应该是无视正常的包的引用法则,直接引用被注册的函数功能,这句应该是贯穿上下的主要作用,然后我看着书上的代码突然很痛苦,整个章节起码少了一半的操作命令,虽然猜出来了但是还是很痛苦。太费时间了,全自己摸索。

之后从这里开始分为2种引用办法。这里对应的是使用插件跟驱动程序
第一种直接指定引用一个入口点函数功能

第一种

#!/usr/bin/env python
#-*- coding:utf-8 -*-

from pkg_resources import load_entry_point
import time


load_entry_point('foobar222==1', 'console_scripts', 'foobar')()

另一种是遍历某一个入口点下的全部注册函数,接着使用.load()激活

#!/usr/bin/env python
#-*- coding:utf-8 -*-

from pkg_resources import iter_entry_points
import time


for i in iter_entry_points("console_scripts"):
    print(i)
    if str(i) == "foobard = foobar222.server:main":
        i.load()()

到此为止,stevedore就算了吧,禁止套娃。

到此,第六章学习完毕。思考一下,那么这种办法的缺点是什么。直接对全局python 开发函数接口。

相关文章

  • 2020-02-25python高手之路学习随笔(6.2)

    继续高手之路第六章 分发 入口点先按照包pip install entry-point-inspector查看py...

  • 随笔6.2

    眼睛胀胀的,酸酸的,这是怎么了呢?一天到晚的总是迷茫惆怅,这是青春吗,跌跌荡荡,磕磕绊绊,迷迷糊糊。 今天看了新闻...

  • 随笔6.2

    今天看到一篇文章:人,一定要懂得拐弯。 文中提到,人逢绝路,审时度势,懂得转弯,也许就能脱出困境。 对于我们三十而...

  • 随笔6.2

    有时 我的语言表达不了我心里想说的话 于是 文字与笔就成了我的代言人

  • 6.2随笔

    曾经以为大学的时光还有很多很多,多到我们还可以放肆的去做任性的事情,至于考研,大三再开始就好了~ 最后,终于等到了...

  • 6.2随笔

    原点时代,人生没有天花板

  • 6.2随笔

    1.一个“六一”儿童节把人忙的脚不沾地。到底是上了年龄,稍微累一点就感觉手胀脚胀的,晚上比平时都困的早,昨晚上又困...

  • 高手的学习之路

    信息时代,每天被各种各样的信息充斥,可是为什么越学习越感到自己无知呢? 每天你通过刷微博微信感觉学到了“五车”的知...

  • #30天橙长计划#张鑫+结构思考+第3天

    张鑫 沈阳【每日一结构】 理解罗辑思维183期“怎样成为一个高手”反思学习之道 G:【反复刻意练习——高手养成之路...

  • 随笔||学习之路

    前些时候报名了一个学习课,主要是大家的公益讲授课。 昨天开始进行,两天时间,上下午各一场,有讲散文,有讲写作,有讲...

网友评论

      本文标题:2020-02-25python高手之路学习随笔(6.2)

      本文链接:https://www.haomeiwen.com/subject/pddcchtx.html