生成pip可安装的自定义库

pip安装第三方库时,支持多种格式;基本要求是必须有setup.py文件。
假设工程的目录结构如下:


├── README.txt
├── pagtest
│   ├── __init__.py
│   ├── abc
│   │   ├── gzx
│   │   │   └── zjj.html
│   │   └── main1.go
│   ├── def
│   │   └── __init__.py
│   ├── main.go
│   ├── print1.py
│   └── print2.py
└── setup.py

其中pagtest是准备作为第三方库的代码文件,它包含很多非py文件;正常情况下,可能并不需要非py文件,而我们正在做的一款产品中几乎全是非py文件。
这里最重要的是setup.py文件,它与目标第三方库同级,这个位置要搞对,而README文件可有可无,不重要。
重点看setup.py文件,其中的内容如下:

from setuptools import setup,find_packages

setup(name='pagtest',
      version='1.0.0',
      description='尝试自定义python库',
      author='winycg',
      author_email='qq@qq.com',
      url='https://www.python.org/',
      license='MIT',
      packages=find_packages(),
      include_package_data = True,
      install_requires=['requests==2.22.0'],
      python_requires='>=3',
      data_files=["pagtest/abc/gzx/zjj.html","pagtest/main.go"] # 正常打包时,只负责将py文件进行复制,这个参数用来指定哪些非py文件也会被导进去
     )

setup.py其实很简单,就调用了一个setup函数而已;大部分参数都是通用的,随便百度一下都能找到,data_files这个比较特殊,它解决的就是非py文件的加入打包的问题;这个参数是个list,所有需要加入打包的文件的相对路径都要添加进来,这个路径是相对setup.py文件的,因此是从库文件那个位置作为入口。
一切准备就绪后,就可执行打包任务:

python setup.pu sdist

执行完毕后,会生成一个tar.gz文件:
在这里插入图片描述
它位于dist中,这个文件可以通过pip直接安装:

pip install pagtest-1.0.0.tar.gz

另外也可以生成whl文件,执行以下命令即可:

python3 setup.py bdist_wheel

whl文件似乎就是个压缩文件而已。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值