当前位置: 首页 > news >正文

德阳手机网站建设网站优化设计公司

德阳手机网站建设,网站优化设计公司,注册公司的流程及费用,邢台建网站公司如何发布自己的第三方库1. PyPi的用途2.Python包发布步骤2.1 创建目录结构2.2 准备文件1、README.rst2、LICENSE.txt,创建许可证3、setup.py文件4.克隆setup.py仓库(推荐)2.3 编写核心代码2.4 生成分发档案2.5 发布包到PyPi3.验证发布PYPI成功…

如何发布自己的第三方库

  • 1. PyPi的用途
  • 2.Python包发布步骤
    • 2.1 创建目录结构
    • 2.2 准备文件
      • 1、README.rst
      • 2、LICENSE.txt,创建许可证
      • 3、setup.py文件
      • 4.克隆setup.py仓库(推荐)
    • 2.3 编写核心代码
    • 2.4 生成分发档案
    • 2.5 发布包到PyPi
  • 3.验证发布PYPI成功

1. PyPi的用途

Python中我们经常会用到第三方的包,默认情况下,用到的第三方工具包基本都是从Pypi.org里面下载。

2.Python包发布步骤

2.1 创建目录结构

创建一个测试项目,例如project_demo,在该项目下,创建一个待发布的包目录,例如:package_mikezhou_talk,并在该project_demo目录下,依次创建:setup.py、LICENSE、README.rst几项文件,此时目录结构为:

➜  AI_project tree -L 2
.
├── LICENSE
├── README.rst
├── package_mikezhou_talk
│   └── __init__.py
└── setup.py1 directory, 4 files

2.2 准备文件

接下来我们来逐一编写除了代码以外的文件。

1、README.rst

关于项目的描述文件,一般包含怎样安装项目,怎样使用项目等。markdown 语法可以参考 https://rest-sphinx-memo.readthedocs.io/en/latest/ReST.html

打开README.rst并输入以下内容。可以自定义此项,放入一些对项目的介绍。

# Example Package
This is a simple example package. You can use[联系作者](1035959050@qq.com)to write your content.

2、LICENSE.txt,创建许可证

上传到Python Package Index的每个包都包含许可证,这一点很重要。这告诉用户安装你的软件包可以使用您的软件包的条款。开源License,有如MIT,Apache license 2.0等。有关选择许可证的帮助,请访问https://choosealicense.com/。选择许可证后,打开 LICENSE并输入许可证文本

3、setup.py文件

setup.py是setuptools的构建脚本,用来描述项目,打包的时候会用到这个文件。它告诉PyPI我们的项目叫什么名字,是什么版本,依赖哪些库,支持哪些操作系统,可以在哪些版本的Python上运行,等等。

标准脚本示例:

from distutils.core import setup
from setuptools import find_packageswith open("README.rst", "r") as f:long_description = f.read()setup(name='package_mikezhou_talk',  # 包名version='1.0.0',  # 版本号description='A small example package',long_description=long_description,author='mikezhou_talk',author_email='762357658@qq.com',url='https://mp.weixin.qq.com/s/9FQ-Tun5FbpBepBAsdY62w',install_requires=[],license='BSD License',packages=find_packages(),platforms=["all"],classifiers=['Intended Audience :: Developers','Operating System :: OS Independent','Natural Language :: Chinese (Simplified)','Programming Language :: Python','Programming Language :: Python :: 2','Programming Language :: Python :: 2.7','Programming Language :: Python :: 3','Programming Language :: Python :: 3.5','Programming Language :: Python :: 3.6','Programming Language :: Python :: 3.7','Programming Language :: Python :: 3.8','Topic :: Software Development :: Libraries'],)

重要参数说明:

  • name:项目的名称,name是包的分发名称。
  • version:项目的版本。需要注意的是,PyPI上只允许一个版本存在,如果后续代码有了任何更改,再次上传需要增加版本号
  • author和author_email:项目作者的名字和邮件, 用于识别包的作者。
  • description:项目的简短描述克隆克隆setup.py仓库(推荐)
  • long_description:项目的详细描述,会显示在PyPI的项目描述页面。必须是rst(reStructuredText) 格式的
  • packages:指定最终发布的包中要包含的packages。
  • install_requires:项目依赖哪些库,这些库会在pip install的时候自动安装
  • classifiers:其他信息,一般包括项目支持的Python版本,License,支持的操作系统。

4.克隆setup.py仓库(推荐)

如果你觉得手写setup.py脚本文件难度大太,给你推荐另外一个简易方法。

大名鼎鼎的requests库的作者大神kennethreitz为大家准备了一个仓库作为一个setup.py的很好的模板,当然你也可以自己手写setup.py。克隆setup.py仓库(推荐)

如果你觉得手写setup.py脚本文件难度大太,给你推荐另外一个简易方法。

大名鼎鼎的requests库的作者大神kennethreitz为大家准备了一个仓库作为一个setup.py的很好的模板,当然你也可以自己手写setup.py。

2.3 编写核心代码

接下来我们就可以编写自己的代码了,要注意源代码文件夹(仓库里的package_mikezhou_talk包目录)的名字与setup.py里配置的包名(Name)要一致。

这一部内容,就根据各自的需求,自行实现即可。例如:我在示例package_mikezhou_talk包目录下,新建了一个main.py文件,在该文件下实现待实现的功能。

  • 示例:
import itertoolscase_list = ['用户名', '密码']
value_list = ['正确', '不正确', '特殊符号', '超过最大长度']def gen_case(item=case_list, value=value_list):'''输出笛卡尔用例集合'''for i in itertools.product(item, value):print('输入'.join(i))def test_print():print("欢迎搜索关注公众号: 「测试开发技术」!")if __name__ == '__main__':test_print()

2.4 生成分发档案

下一步是为包生成分发包。这些是上传到包索引的档案,可以通过pip安装。

确保您拥有setuptools并wheel 安装了最新版本:

python3 -m pip install --user --upgrade setuptools wheel

生成这前,可以先运行python setup.py check检查setup.py是否有错误,如果没报错误,则进行下一步输出一般是running check。

1、准备好上面的步骤, 一个包就基本完整了, 剩下的就是打包了,可以使用下面命令打包一个源代码的包:

python setup.py sdist build

这样在当前目录的dist文件夹下, 就会多出一个tar.gz结尾的包了:

2、也可以打包一个wheels格式的包, 使用下面的命令就可以了:

python setup.py bdist_wheel --universal

这样会在dist文件夹下面生成一个whl文件.

3、或者从setup.py位于的同一目录运行此命令:

python3 setup.py sdist bdist_wheel

上面的命令会在dist目录下生成一个tar.gz的源码包和一个.whl的Wheel包。

2.5 发布包到PyPi

1、接下来就是去https://pypi.org/account/register/注册账号,如果有账号的请忽略,记住你的账号和密码,后面上传包会使用。

2、接下来就是上传你的包了,这里使用twine上传。需要先安装twine(用 twine上传分发包,并且只有 twine> = 1.11.0 才能将元数据正确发送到 Pypi上)

pip install twine

3、安装完之后,运行下面的命令将库上传,上传包,期间会让你输入注册的用户名和密码

twine upload dist/*

输入 PyPI注册的用户名和密码。命令完成后,您应该看到与此类似的输出:

➜  twine upload dist/*
Uploading distributions to https://upload.pypi.org/legacy/
Enter your username: mikezhou_talk
Enter your password:
Uploading package_mikezhou_talk-1.0.0-py3-none-any.whl
100%|██████████████████████████████████████| 7.84k/7.84k [00:03<00:00, 2.29kB/s]
Uploading package_mikezhou_talk-1.0.0.tar.gz
100%|██████████████████████████████████████| 6.64k/6.64k [00:01<00:00, 6.05kB/s]View at:
https://pypi.org/project/package-mikezhou-talk/1.0.0/

上传完成后,我们的项目就成功地发布到PyPI了。

3.验证发布PYPI成功

上传完成了会显示success,我们直接可以在PyPI上查看.

您可以使用pip来安装包并验证它是否有效。创建一个新的virtualenv (请参阅安装包以获取详细说明)并从TestPyPI安装包:

python3 -m pip install --index-url https://test.pypi.org/simple/ package-mikezhou-talk


pip install package-mikezhou-talk -i https://www.pypi.org/simple/
如下图所示:图片

进入Python Shell验证结果如下:图片

至此,我们已经成功地将自己开发的Python程序发布到了PyPI,此时你,可以直接在你本地的环境通过pip命令安装示例中的package-mikezhou-talk这个包了。

http://www.mmbaike.com/news/90487.html

相关文章:

  • 合肥建设委员会网站首页重庆百度快照优化排名
  • 郑州低价网站制作seo优化6个实用技巧
  • 网站建设08keji平台网站开发公司
  • 领导交给你一个网站你该怎么做广州今日头条新闻
  • 室内设计装修风格大全网络营销的seo是做什么的
  • 上海网站备案信息石家庄最新消息
  • 深圳专业做网站建网站推广点击器
  • 全球网站建设app拉新佣金排行榜
  • 哪里有网站建设加工免费招聘信息发布平台
  • 免费网站怎么制作电子商务网站有哪些?
  • iis 5 新建网站广告策划案优秀案例
  • 广告海外推广哈尔滨seo关键词排名
  • 做网站社区赚钱吗百度网盘客服电话
  • 小白建站软件互联网营销具体做什么
  • 其他公司盗用公司名做网站手机网络优化软件
  • 中企动力是干嘛的海口seo快速排名优化
  • 佛山品牌网站建设报价今日小说百度搜索风云榜
  • django做网站效率高吗网站seo优化有哪些方面
  • wordpress文章格式引用专业seo站长工具全面查询网站
  • 新昌网站建设培训机构连锁加盟
  • 企业的门户网站一般用什么做百度广告怎么做
  • 巫溪网站建设新闻网站软文平台
  • 网站开发下人员配置百度指数查询
  • 公安网站建设目的镇江网站
  • 云服务器wordpress如何上线网站排名优化软件联系方式
  • wordpress评论框加seo搜索工具栏
  • 如何建设一个web网站成人短期就业培训班
  • 微信小程序电商平台开发济南seo关键词优化方案
  • 怎么用VS2012建设网站黄页88网推广服务
  • 高校工会网站建设分销渠道