为了账号安全,请及时绑定邮箱和手机立即绑定

Py3 工具打包并发布到 pip

标签:
Python

编写工具包代码

代码结构

- dir_name  
 - src - __init__.py - package_name - __init__.py - module1.py - module2.py - setup.py```  
### 编写setup.py文件内容  
下面是一个简单的setup.py文件,详细的参数配置可以参考  
[ An Introduction to Distutils](https://docs.python.org/3.6/distutils/introduction.html#distutils-simple-example)  
```python  
# 编写完包源码后,python setup.py sdist生成pip压缩包  
# 解压压缩包,python setup.py install  安装自己的包,就可以引用了  
  
  
from distutils.core import setup  
from setuptools import find_packages  
  
setup(name='package_name',  # 包名  
  version='2020.4.10',  # 版本号  
  description='',  
  long_description='',  
  author='your_name',  
  author_email='xxx@qq.com',  
  url='xxx',  
  license='',  
  install_requires=[],  
  classifiers=[  
 'Intended Audience :: Developers', 'Operating System :: OS Independent', 'Natural Language :: Chinese (Simplified)', 'Programming Language :: Python', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.6', 'Topic :: Utilities' ],  keywords='',  
  packages=find_packages('src'),  # 必填  
  package_dir={'': 'src'},  # 必填  
  include_package_data=True,  
 )```  
  
`package_name/__init__.py`内容如下  
```python  
from __future__ import absolute_import  
# 上面👆这个必须位于文件开头,否则后面运行会报错  
  
from .module1 import *  
from .module2 import *  

module1.py 代码如下

# 加法  
def add(a,b):  
 return a+b```  
  
module2.py 代码如下  
```python  
# 减法  
def sub(a,b):  
 return a-b  
  
# 乘法  
def mul(a,b):  
 return a*b```  
  
### 打包安装自定义包  
  
在 dir_name 目录下执行    
`python setup.py sdist`  
  生成 pip 压缩包, 没有这刷新项目  
进入 `packet_demo/dist` 文件夹,执行    
`pip install xxx(自己包名,自由替换).tar.gz`  
![](//img1.sycdn.imooc.com/5e91c901000155b819420470.png)  
  
安装后,就可以直接调用了  
```python  
import package_name  
print(package_name.add(1,2))  

上传代码到 PyPI

检查 setup.py

在上传之前,可以先通过命令校验 setup 写错了没有:
python setup.py check

如果只有 running check 没有输出任何错误,则说明格式正确。

注册 pypi.org

然后需要在这里注册一个 PyPI 的帐号,注册完成之后,就可以将这个代码库注册到 PyPI 了:
https://pypi.org/

注册以后就可以打包上传了

# 打包  
python setup.py sdist  
  
# 安装上传组件  
pip install twine  
  
# 上传  
twine upload ./dist/xxx(自己包名,自由替换).tar.gz`  
会让你输入账号密码  

最后去 PyPI 上看下我们刚刚上传的库

试试看我们自己发布的库
pip install package_name

import package_name  
print(package_name.add(1,2))  
点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消