pypi上传库
把程序打包上传到PyPi版本库中
更新:新版上传变化了 详见
pip install twine python setup.py sdist twine upload dist/* 或者某个版本 twine upload dist/jumpserver-python-sdk-0.0.15.tar.gz
转自
1 首先必须要按照以下文件结构
├── douban
│ ├── cli.py
│ ├── douban.py
│ ├── douban_token.py
│ ├── getch.py
│ └── __init__.py
├── README.md
└── setup.py
- 必须至少一个包,即上面的douban,把模块都放在包下,且包中必须有
__init__.py
文件(可以为空) - 必须有一个setup.py文件
2 setup.py文件
#-*- encoding: UTF-8 -*-
from setuptools import setup, find_packages
import sys, os
"""
打包的用的setup必须引入
"""
VERSION = '0.2.0'
with open('README.md') as f:
long_description = f.read()
setup(
name='douban.fm', # 文件名
version=VERSION, # 版本(每次更新上传Pypi需要修改)
description="a tiny and smart cli player of douban.fm based on Python",
long_description=long_description, # 放README.md文件,方便在Pypi页展示
classifiers=[], # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers
keywords='python douban douban.fm terminal', # 关键字
author='taizilongxu', # 用户名
author_email='468137306@qq.com', # 邮箱
url='https://github.com/taizilongxu/douban.fm', # github上的地址,别的地址也可以
license='MIT', # 遵循的协议
packages=['douban'], # 发布的包名
include_package_data=True,
zip_safe=True,
install_requires=[
'termcolor',
], # 满足的依赖
entry_points={
'console_scripts':[
'douban.fm = douban.douban:main'
]
},
)
- entry_points : [可执行程序名]=引入的包名.子包名.模块名:入口函数.这个要注意了,主程序要引入main函数进行执行.好让包找到执行的位置
3 安装
如果不上传文件,只在本机中安装,那么可以运行以下命令
python setup.py install
这样就在本机安装了程序,在shell中输入douban.fm(刚才在entry_points中输入的可执行程序名),就可以执行了
4 上传到Pypi
先在 https://pypi.python.org/pypi 注册个Pypi号,认证邮箱.
然后再在你的用户目录下新建一个.pypirc
文件,输入如下:
[distutils]
index-servers =
pypi
[pypi]
username:
password:
把username和password填上保存就可以了
回到你的setup.py目录,输入如下命令
sudo python setup.py register sdist bdist_egg upload
你的包就可以发到Pypi里了,通过pip或者easy_install就可以下载你的包了
5 更新Pypi包
当包版本更新后,需要在你的setup.py文件里修改VERSION,然后运行第4部的命令就可以了(如果不更新VERSION包就不能上传成功)
pypi上传库的更多相关文章
- pypi上传问题
pypi上传过程中报错403 windows 解决办法: 1.建一个新的记事本编辑内容 [distutils]index-servers = pypi [pypi]repository:https:/ ...
- js文件上传库
收集了2个与具体UI库和框架无任何耦合的JS文件上传库:支持断点续传.支持npm安装. resumable.js fileapi
- 讲解开源项目:功能强大的 JS 文件上传库
本文作者:HelloGitHub-kalifun HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...
- pypi上传命令
windows 1.新建一个setup.py文件与你自己写的.py模块放在一个文件夹内 内容: from distutils.core import setup setup( name = " ...
- Android 上传库到Binary的操作
第一次,按照网上教程配置需要的配置文件,上传成功 1.0版本. 以后更新的时候 输入 : install ,执行task 然后再输入:bintrayUpload ,执行task,看下面控制台输出信息, ...
- 体验三大JavaScript文件上传库(Uppy.js/Filepond/Dropzone)
最近发现了一个高颜值的前端上传组件Uppy.js,立即上手体验了一波,感觉还不错.然后又看到同类型的Filepond以及Dropzone.js,对比体验了一下,感觉都很优秀,但是在体验过程中,都遇到了 ...
- 如何在Pypi发布上传你自己的Python库
Pypi上传包 准备 Windows环境 *以下教程只能在Windows上执行,MACOS系统不能使用 注册账号 你需要在Pypi上注册一个账号. 安装必要的库 setuptools 原则上安装了pi ...
- Maven使用deploy上传jar包到远程库
一.环境准备 首先需要在本地环境安装好maven,并且在环境变量配置好 二.配置远程库认证 需要在./conf/setting.xml(maven的配置文件,不要弄错)中配置需要远程上传库的地址,用户 ...
- Maven使用deploy上传jar包到远程库 以Oracle驱动为例
一.首先要得到Oracle JDBC Driver 1.通过Oracle官方网站下载相应版本:http://www.oracle.com/technetwork/database/features/j ...
随机推荐
- 特征描述之LBP
LBP 在数字图像处理和模式识别领域,LBP指局部二值模式,英文全称:Local Binary Patterns.最初功能为辅助图像局部对比度,并不是一个完整的特征描述子. 后来提升为一种有效的纹理描 ...
- T-SQL 基础学习 02
数据库设计 定义 数据库设计就是将数据库中的数据实体以及这些数据实体之间关系,进行规划和结构化的过程 在需求分析阶段,设计数据库的一般步骤 A. 收集相信 B. 标识实体 C. 标记每个实体需要存储的 ...
- iOS 隐藏键盘的几种常见方法
1.设置return key,然后为Did End On Exit事件添加响应方法,并在方法内添加代码:[self.textfieldName resignFirstResponder]. 2.将背景 ...
- 【转】iOS学习之容易造成循环引用的三种场景
ARC已经出来很久了,自动释放内存的确很方便,但是并非绝对安全绝对不会产生内存泄露.导致iOS对象无法按预期释放的一个无形杀手是——循环引用.循环引用可以简单理解为A引用了B,而B又引用了A,双方都同 ...
- 一言不合敲代码(1)——DIV+CSS3制作哆啦A梦头像
先展示一下我的头像吧. 作为一个前端ER,我的头像当然不能是绘画工具画出来的.没错,这个玩意是由HTML+CSS代码实现的,过年的某一天晚上无聊花了一个小时敲出来的.来看看它原本的样子: 为什么会变成 ...
- 设置 tableview 的背景颜色,总是有蒙层
1.给tableview添加了背景图片后, cell 总是有一层蒙层蒙着,很阴暗. 2.实验以后才发现背景图片被放在了 cell 的后面.
- Phone Font Size
This table lists and describes the various font sizes that can be applied. Attribute = FontSize Na ...
- vmware克隆虚拟机后配置网络
一件配置: rm -rf /etc/udev/rules.d/70-persistent-net.rules cd /etc/sysconfig/network-scriptsrm -rf ifcfg ...
- 利用box-shadow绘图
上篇博客提到过,box-shadow属性的本质是对形状的复制,那么如果我设置一个1*1px的i标签,利用box-shadow可以叠加的特性,给每一个1*1px的阴影赋上颜色,那么最后不就是一幅图片了么 ...
- linux 关于session缓存丢失,自己掉坑里面了
突然间session失效了,死活打不上缓存.顺着解决思路:程序--再检查程序--文件权限--查看服务器配置 我只想说一句,我操.尼玛,各种调试,各种自虐.毫无意义,三个钟头流失. 看看几点了,快凌晨两 ...