最近笔者在思考,怎样提高开发效率。从网络爬虫到数据处理,然后到人工智能。Python 的强大之处在于:拥有一大批开箱即用的工具包,不必重复造轮子,极大地提高了开发的效率。那么为何不将项目中的功能模块化,打包成可复用的 Python 包呢?本文主要讲的是怎样将一个功能打包成 Python 包,并上传到 PyPi。
1. 首先得有一个 Python 包
在 Python 开发的过程中,可以将功能非常明确的模块分离出来,作为一个单独的 Python 包。这样不仅有利于模块的维护和升级,更重要的是在项目开发的过程中,可以复用这些 Python 包。最近笔者的一个项目中,需要对 Django View 进行访问权限的控制。Django 自带的Permission 提供表级别的权限控制,django-guardian 提供对象级别的权限控制。但是,这个项目中并没有 Model,数据完全来自第三方接口。在 GitHub 上搜索无果之后,笔者决定开发一个基于 View 粒度的权限控制 Django App。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
django_view_permission
├── admin.py
├── apps.py
├── __init__.py
├── management
│ ├── commands
│ │ ├── clearviewpermission.py
│ │ └── __init__.py
│ └── __init__.py
├── middleware.py
├── migrations
│ ├── 0001_initial.py
│ └── __init__.py
├── models.py
├── settings.py
├── singnals
│ ├── handlers.py
│ ├── __init__.py
├── utils.py
├── LICENSE
├── MANIFEST.in
├── README.md
└── setup.py
|
python setup.py sdist
|
[distutils]
index-servers =
pypi
[pypi]
repository=https://upload.pypi.org/legacy/
username=[your_username]
password=[your_password]
|
python setup.py sdist upload
|
pip install django_view_permission
Collecting django_view_permission
Downloading django_view_permission-0.0.1.tar.gz
Installing collected packages: django-view-permission
Running setup.py install for django-view-permission ... done
Successfully installed django-view-permission-0.0.1
|
相关推荐
作者:scwang18,主要负责技术架构,在容器云方向颇有研究。 前言 KubeSphere 集群默认安装的证书是自签发证书,浏览器访问访问会发出安全提醒。本文记录了利用 let's encrytp 泛域名证书实现 Kubernetes 集群外部服务自动证书配置和证书到期自动更新,支持 HTTPS 访问。我们还部署了证书自动分发组件,实现证书文件自动分发到其他 namespace 。 架
本文是杭州站 Meetup 讲师乔雷根据其分享内容整理而成的文章。主要介绍了 Nebula Graph 的简介及架构,NebulaCloud 的架构和流程以及使用 KubeSphere 进行多集群管理的实践。 图数据库是一种使用图结构进行语义查询的数据库,它使用节点、边和属性来表示和存储数据。图数据库的应用领域非常广泛,在反应事物之间联系的计算都可以使用图数据库来解决,常用的领域如社交领域里的好友
上文我们了解了在字节跳动内部业务快速增长的推动下,经典消息队列 Kafka 的劣势开始逐渐暴露,在弹性、规模、成本及运维方面都无法满足业务需求。因此字节消息队列团队研发了计算存储分离的云原生消息引擎 BMQ,在极速扩缩容及吞吐上都有非常好的表现。本文将继续从整体技术架构开始,介绍字节自研的云原生消息引擎的分层架构在数据存储模型、运维等角度的优势及挑战。 回顾:一文了解字节跳动消息队列演进之路 云原
- 安装 zsh 1 sudo yum install -y zsh 2. 安装 oh-my-zsh 1 sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
回到顶部