python的第三方库的定义_Python 自定义三方库

一、注册一个pypi账号

二、github上创建一个项目

三、编写自己的python项目

先建一个目录,比如magetool,这个里边放的是你的项目代码。在这个magetool目录里,新建一个__init__.py,这个文件里可以什么都不用写,然后就是你要发布的.py文件

#!/usr/bin/env python

#-*- coding:utf-8 -*-

#############################################

# File Name: setup.py

# Author: gm

# Mail: 1025304567@qq.com

# Created Time: 2019-04-11 15:37:04

#############################################

from setuptools import setup, find_packages

setup(

name = "licensetool",

version = "0.0.2",

keywords = ("pip", "license","licensetool", "tool", "gm"),

description = "设备指纹获取、license生成、指纹与有效期验证工具",

long_description = "设备指纹获取、license生成、指纹与有效期验证工具",

license = "MIT Licence",

url = "https://github.com/gm19900510/licensetool",

author = "gm",

author_email = "1025304567@qq.com",

packages = find_packages(),

include_package_data = True,

platforms = "any",

install_requires = ['chardet']

)

官方示例及说明

import setuptools

with open("README.md", "r") as fh:

long_description = fh.read()

setuptools.setup(

name="example-pkg-your-username",

version="0.0.1",

author="Example Author",

author_email="author@example.com",

description="A small example package",

long_description=long_description,

long_description_content_type="text/markdown",

url="https://github.com/pypa/sampleproject",

packages=setuptools.find_packages(),

classifiers=[

"Programming Language :: Python :: 3",

"License :: OSI Approved :: MIT License",

"Operating System :: OS Independent",

],

)

setup()接受几个参数。此示例包使用相对最小的集合:

name是包的分发名称。只要包含字母,数字_和 -。

version 是包版本看 PEP 440有关版本的更多详细信息。

author 和author_email用于识别包的作者。

description 是一个简短的,一句话的包的总结。

long_description是包的详细说明。这显示在Python Package Index的包详细信息包中。在这种情况下,加载长描述README.md是一种常见模式。

long_description_content_type告诉索引什么类型的标记用于长描述。在这种情况下,它是Markdown。

url是项目主页的URL。对于许多项目,这只是一个指向GitHub,GitLab,Bitbucket或类似代码托管服务的链接。

packages是应包含在分发包中的所有Python 导入包的列表。我们可以使用 自动发现所有包和子包,而不是手动列出每个包。在这种情况下,包列表将是example_pkg,因为它是唯一存在的包。find_packages()

classifiers告诉索引并点一些关于你的包的其他元数据。在这种情况下,该软件包仅与Python 3兼容,根据MIT许可证进行许可,并且与操作系统无关。您应始终至少包含您的软件包所使用的Python版本,软件包可用的许可证以及您的软件包将使用的操作系统。有关分类器的完整列表,请参阅 https://pypi.org/classifiers/。

MANIFEST.in文件

用于包含其他文件

include licensetool/private.pem

include MANIFEST.in

五:打包自已的项目

在代码编写完成,自已测试后没有问题了,就可以打包了。 打包使用下边两个其中一个命令(我使用的是第二个):

python setup.py bdist_egg # 生成类似 edssdk-0.0.1-py2.7.egg,支持 easy_install

python setup.py sdist# 生成类似 edssdk-0.0.1.tar.gz,支持 pip

两个命令打包好之后都会生成build和dist两个目录,打包的文件会放在dist目录下,供后边上传到PyPi服务器

六:上传到PyPi服务器

安装twine

pip install twine

上传

twine upload dist/*

执行完这行指令之后,会提示输入pypi的用户名和密码,正常输入就可以

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值