造一个轮子而后安装到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/

相关文章
相关标签/搜索