造一個輪子而後安裝到pypi上

   以前寫了一個爬蟲的包,主要是根據本身寫爬蟲的狀況總結一下。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。

參考文檔

    https://packaging.python.org/

相關文章
相關標籤/搜索