以前寫了一個爬蟲的包,主要是根據本身寫爬蟲的狀況總結一下。html
由於每次都要重複寫一些代碼,因此提煉出來,相似一個框架的樣子吧。python
開始是放在本身的項目裏引用,但若是換了一個項目,就得從新拷一遍,很麻煩。git
後面又學到了,放在site-package裏面能夠在本身的環境引用,但換一個環境也是不行的,因而想到放到pypi上面,能夠直接pip install,就很方便。github
記錄一下上傳包的過程。框架
先上一個參考文章http://www.javashuo.com/article/p-chgbdojm-mw.html。這個比較詳細,跟着這個作基本沒什麼問題。ide
1、準備好本身的模塊ui
上圖爲文件結構,我將個人文件,spider和crawler放到了一個文件夾Elise裏面,外面是setup.pyurl
2、編寫setup.pyspa
1 # encoding=utf-8 2 # date: 2019/4/3 3 __author__ = "Masako" 4 5 from distutils.core import setup 6 7 setup( 8 name='Elise', # 安裝包名稱, pip install用 9 version='0.1.6', # 版本,不可重複 10 author='Masako', # 做者 11 author_email='Masako@example.com', # 郵件 12 url='https://github.com/TitledPythonFile', # 代碼地址 13 # py_modules=['spider', 'crawler', 'test'], # 使用模塊列表打包 14 packages=['Elise'], # 使用文件夾(包)打包 15 license='GPL', # 協議 16 description='Simple multithreading spider', # 描述 17 long_description=open('README.rst').read(), # 說明, 必定是rst 18 install_requires=[ 19 "requests==2.19.1", # 須要安裝的依賴,列表,有的版本不支持,推薦使用requirement.txt 20 ], 21 )
setup.py是安裝包的必要信息。參數含義見註釋。命令行
3、打包
準備完成後打開命令行,執行 python setup.py sdist build
由於個人文件不齊全,不規範,因此有不少警告。先無論。
執行完畢後會出現兩個文件夾build和dist。
4、上傳pypi
安裝 twine pip install twine
上傳dist twine upload dist/* 。
須要輸入帳號密碼,去pypi上註冊一下就能夠。
注意事項
1.注意名稱和版本,名稱只能取pypi上不存在的名稱,就算這個項目是你本身註冊的,名稱也不能同樣;版本不能重複,否則上傳不上去的,也就是說每次上傳都要改一個版本的。
2.注意使用py_modules參數打包的時候,模塊直接和setup.py放在同一文件夾,以下圖
安裝後py文件會直接在site-package列表裏面。好比xmltodict就是這種打包方式。以下
假設在這種打包下,引入spider.py文件中的Spider類,引入使用的是 from spider import Spider。
而用我當前的打包方式,安裝後效果以下
這種打包下,個人spider,引入使用的時候是 from Elise.spider import Spider。
參考文檔