iT邦幫忙

2021 iThome 鐵人賽

DAY 17
2
自我挑戰組

Python 30天自我挑戰系列 第 17

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 = 'ooooo@mail.com',
    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)

上一篇
Day16 - 完成爬蟲功能
下一篇
Day18 - 建立追蹤清單畫面
系列文
Python 30天自我挑戰30

尚未有邦友留言

立即登入留言