Python之模块打包

1.什么是模块打包

模块打包目的是让自己开发的功能能够实现共享,供给他人使用;
包管理索引平台:Python Package Index;

2.怎么打包

  • tar.gz格式:这个就是标准压缩格式,里面包含了项目元数据和代码,可以使用Python setup.py sdist命令生成;
  • egg格式:它也是压缩文件,只是扩展名换了,里面包含了项目元数据以及源代码,这个格式由setuptools项目引入, 可以通过命令Python setup.py bdist_egg命令生成;
  • whl格式:这个是Wheel包,也是一个压缩文件,只是扩展名换了,里面包含了项目元数据和代码,还支持免安装直接运行,whl分发包内的元数据和egg包是有些不同的,可以通过命令Python setup.py bdist_wheel生成;
  • 在pycharm的site-packages中,我们安装的第三方包都会被安装在这里,这里的以.dist-info结尾的目录,就是这个库的元数据,是从分发包中备份出来的,.dist-info类型的目录来自于Wheel格式的分发包, 也有些是.egg-info类型的目录,就是Egg格式的分发包

site-packages
├── IPython
├── Jinja2-2.10.dist-info
├── MarkupSafe-1.1.0.dist-info
├── Pygments-2.2.0.dist-info
├── Send2Trash-1.5.0.dist-info
├── pycache
├── appnope
├── appnope-0.1.0.dist-info
├── backcall
├── backcall-0.1.0.dist-info
├── bleach
├── bleach-3.0.2.dist-info
├── certifi
├── certifi-2018.10.15.dist-info
├── chardet
├── chardet-3.0.4.dist-info

3.如何打包、打包后推送到哪里

  • 创建需要打包的模块;

package/
├── README.rst
├── etc
│ └── xkd.conf
├── first_package
│ └── init.py
├── second_package
│ └── init.py
└── setup.py

  • 填写setup.py文件内容;
from setuptools import setup, find_packages
setup(
    name='package',
    version='1.0.0',
    packages = find_packages(),
    install_requires=[
        "requests>=2.19.1",
        "PyYAML>=3.13",
    ],
    description='XKD COURSE FOR TEST',
    long_description=open("README.rst").read(),
    url='github 地址',
    author='Robby',
    author_email='yinhuanyicn@gmail.com',
    license='Apache License 2.0',
    package_data = {
        # 将 .txt和.rst文件也打包进去
        '': ['*.txt', '*.rst'],
    },
    data_files=['etc/xkd.conf',],
    keywords=['xkdpackage',],
)
如果你依然在编程的世界里迷茫,
不知道自己的未来规划,
对python感兴趣,
这里推荐一下我的学习交流圈QQ群:895 797 751,
里面都是学习python的,

  • 使用命令行将模块打包:python setup.py bdist_wheel;

  • 打包后会生成一些目录:build、dist、xkdpackage.egg-info

在PYPI平台注册账号,在邮箱中认证连接,链接:https://pypi.org/;

  • 在用户的家目录下创建~/.pypirc文件,此文件中配置PyPI访问地址和账号;
  • 安装twine的命令行:pip install twine;
  • 将打包好的模块发送到PYPI平台:twine upload dist/*;
  • 可以发送到公司的PYPI服务器,如果公司搭建了pypiserver服务器,那么可以直接将tar.gz的包放在对应的目录下,公司内部下载即可;
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值