Day17 - 安装自己开发的套件

昨日完成了爬虫功能开发,今天会将此功能打包成一个套件,并使用pip安装到虚拟环境上。

套件架构

要让自己开发的套件可以让pip安装,其最基本的专案架构如下:

  • 套件库资料夹
    • 套件资料夹
      • __init__.py
      • 其他程序 (档名不可与套件资料夹相同)
    • 其他的套件库资料夹 (同个套件库下可以有多个套件)
    • setup.py

__init__.py:套件初始化使用,初始化须执行的程序放在这里,若无初始化需求可保持空白。Python也使用此档来判断该目录是否为套件,如果套件相关模组放在子目录,则子目录也须新增__init__.py。

setup.py:安装套件时使用的档案

from distutils.core import setup

setup(
    name = 'package_crawler',
    packages = ['crawler'],  # 若有套件库下有多个套件,以list形式放在这,ex: ['packageA', 'packageB']
    scripts = [],
    version = '1.0',
    description = 'Crwaler Project',
    author = 'author name',
    author_email = '[email protected]',
    keywords = ['crawler','novel','book'],
    classifiers = [],
)

补充:如果想将套件上传到PyPI让其他人可以下载使用,需要再申请帐号密码,并新增.pypirc档案,才能进行上传。

实际目录:
https://ithelp.ithome.com.tw/upload/images/20210929/20141886psTyVtQwbM.png

安装套件

因这次开发的套件未上传,仅作为本机端私人使用,故在使用pip安装时,须包含套件资料夹所在路径:

pip install F:\vscode\github\my_django_project\package_crawler

https://ithelp.ithome.com.tw/upload/images/20210929/20141886a5hyeQ3F58.png

https://ithelp.ithome.com.tw/upload/images/20210929/20141886hrToMsIp6m.png

安装完成後,就可以像一般套件一般使用了。

from crawler.bookcrawler import BookCrawler

book = BookCrawler('http://www.jjwxc.net/onebook.php?novelid=3415053')
book.getinfo()
print(book.title)

<<:  Day 15 - PHP SDK: 用 Pure PHP 建立购物网 (下)

>>:  例行监督表单撰写实务

管理职不是屎缺,但也不好做

相信这个问题做了几年工程师之後,应该多少都有想过一两次吧? 在管理职当然做的事情,就会从面对事情而转...

[经典回顾]资讯服务异常公关用语「 骇客攻击」

资料来源: [HITCON年会] 亲爱的,问题不一定是骇客造成的 保密防谍、人人有责 骇客语录 ...

Day 6. Hashicorp Nomad: Submit a Job

Hashicorp Nomad: Submit a Job 今天来写最基本的提交工作(Submit ...

[Day12] 建立订单交易API_5

本节将继续实作内文加密,程序如下 def aes_encrypt(key, content, iv)...

【Day20】[资料结构]-图Graph-实作

图(Graph)建立的方法 addVertex: 新增顶点 addEdge: 新增边 removeV...