Python程序的打包-上传到pypi
pypi注册与配置
在pypi的官网:https://pypi.python.org/pypi
注册自己的账号
激活账号之后,我们还需要将在本地配置一份文件
在用户的根目录创建文件 : .pypirc
在文件里输入自己的账号和密码
$ nano ~/.pypirc # 创建文件 [distutils]
index-servers = pypi [pypi]
repository: https://pypi.python.org/pypi
username: 你的账号
password: 你的密码
配置好之后,我们前期准备就做好了
配置安装项
由于是最基本的记录 只需要在项目根目录配置setup.py文件
from setuptools import setup
VERSION = '0.0.1'
URL = 'https://github.com/Ehco1996/lazySpider'
KEYWORDS = 'spider headers mysql'
EMAIL = 'zh19960202@gmial.com'
DESCRIPTION = "Powerful spider tools"
LONG_DESCRIPTION = '''
lazyspider is a powerful tools which can:
help you get request header/cookie easily
help you manipulate database in humanized way
'''
REQUIRES = ['pymysql']
PACKAGES = ['lazyspider'] setup(
name='lazyspider',
author='Ehco1996',
license='GPLv3',
zip_safe=False,
url=URL,
version=VERSION,
description=DESCRIPTION,
long_description=LONG_DESCRIPTION,
author_email=EMAIL,
keywords=KEYWORDS,
install_requires=REQUIRES,
packages=PACKAGES,
classifiers=[
'Development Status :: 2 - Pre-Alpha',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
],
)
分别解释一下各项的意思
- name: 项目名称
- author:作者
- license: 开源协议
- url: 项目地址
- version: 版本号
- description: 一句话描述
- long_description: 长文本描述
- author_email: 作者邮箱
- keywords: 项目关键词
- install_requires: 前置依赖,
- packages: 本项目包含的文件夹(本地)
打包项目
我推荐用Wheel来打包项目
如果没有安装 请先:
pip install wheel
打包命令
python setup.py bdist_wheel
命令成功执行之后,我们的源文件就在dist/文件夹下 .
上传项目
这里也是一行命令的事 python setup.py bdist_wheel upload
这样就能在自己的pypi主页看到上传上去的程序了 .
接下来就可以直接用pypi安装啦 .

原文:http://www.ehcoblog.ml/post/101/
Python程序的打包-上传到pypi的更多相关文章
- pytest文档56-插件打包上传到 pypi 库
前言 pytest 的插件完成之后,可以上传到 github,方便其他小伙伴通过 pip 源码安装.如果我们想通过 pip install packages 这种方式安装的话,需上传到 pypi 仓库 ...
- IOS 发布程序(打包上传)
• 发布程序的主要步骤 登录开发者主页 生成cer证书:cer是一个跟电脑相关联的证书文件,让电脑具备发布程序的功能 添加App ID:发布哪些app? 生成MobileProvision文件:生成一 ...
- [Xcode 实际操作]九、实用进阶-(32)项目的打包上传和提交审核以及下架处理
目录:[Swift]Xcode实际操作 本文将演示如何将一个应用程序进行打包上传,并提交审核以及下架处理. 点击项目[DemoApp]->[Build Settings]编译设置->[Pr ...
- Python 第三方包上传至 PyPI 服务器
PyPI 服务器主要功能是?PyPI 服务器怎么搭建? PyPI 服务器可以用来管理自己开发的 Python 第三包. Pypi服务器搭建 Python 第三方包在本地打包 # 本地目录执行以下命令应 ...
- selenium+python自动化77-autoit文件上传
前言 关于非input文件上传,点上传按钮后,这个弹出的windows的控件了,已经跳出三界之外了,不属于selenium的管辖范围(selenium不是万能的,只能操作web上元素).autoit工 ...
- selenium+python自动化77-autoit文件上传【转载】
前言 关于非input文件上传,点上传按钮后,这个弹出的windows的控件了,已经跳出三界之外了,不属于selenium的管辖范围(selenium不是万能的,只能操作web上元素).autoit工 ...
- 基于.NetCore开发博客项目 StarBlog - (18) 实现本地Typora文章打包上传
前言 九月太忙,只更新了三篇文章,本来这个功能是从九月初就开始做的,结果一直拖到现在国庆假期才有时间完善并且写文章~ 之前我更新了几篇关于 Python 的文章,有朋友留言问是不是不更新 .Net 了 ...
- 【NuGet】打包上传一条龙服务
昨天写了搭建自己的NuGet程序源,但是领导不满意之前的打包上传~~,无奈只能去爬点思路了,这里参考的其他博文,但是还是想写下来. 第一步.建立一个批处理文件 在文件里,有三条命令: nuget pa ...
- XCode7,打包上传的一些警告,及参考处理方法
1.ERROR ITMS-90046 /90085: "Invalid Code Signing Entitlements. Your application bundle's signat ...
随机推荐
- 821. Shortest Distance to a Character
class Solution { public: vector<int> shortestToChar(string S, char C) { int len=S.length(); ve ...
- php-fpm 的 pm.start_servers 参数调整
大家注意一下 在 php-fpm 的配置文件中, pm.start_servers 必须是介于 pm.min_spare_servers 和 pm.max_spare_servers 这个值之间 ...
- 将项目部署到 github上(部署到码云操作一样,前提是有码云账号)
来源:http://www.cnblogs.com/fengxiongZz/p/6477456.html 首先你需要自己的网页文件(俗称项目) 第一步:登录到Github上,新建一个repositor ...
- s5-1 网络层引言
网络层要做什么? 源和目的之间的网络有哪些类? 数据报网络 提供无连接的服务 虚电路网络 提供面向连接的服务 网络层的目标:把数据分组一路送到接收机. 网络层利用下层--数据链路层提供的服 ...
- JAVA技术路线2
https://www.zhihu.com/question/56110328 1.JavaSE学习视频 http://pan.baidu.com/s/1bp3g6rd2.javaweb的学习视频 h ...
- for循环添加的闭包问题
function test(){ var arr = []; for (var i=0;i;i++){ arr[i] = function(){ console.log(i); } } return ...
- javase jdk 环境变量 涵义
jdk环境变量配置:path:jdk安装所在目录下的bin路径-->因为环境变量path下放置的是操作系统执行的.exe文件,jdk中bin中放的是可执行的.exe文件,所以要把这个路径放置到p ...
- WordPaster2产品介绍
更新WordParser组件,集成ImagePaster组件功能.完善粘贴剪帖板图片,粘贴电脑图片文件,粘贴word,粘贴excel逻辑. 大幅度优化和精简js代码,js代码行数从1932行减少到97 ...
- docker 搭建 MYSQL并且完成主从复制
mysql主从复制逻辑: 1.从库执行start slave 开启主从复制. 2.从库请求连接到主库,并且指定binlog文件以及位置后发出请求. 3.主库收到从库请求后,将信息返回给从库,除了信息日 ...
- 防火墙内JVisualVM连接jstatd解决方案
jstatd启动后会打开两个端口,其中一个端口可通过参数“-p”指定,如果不指定默认为1099,另一个是一个随机端口,不能参数指定: # netstat -lpnt|grep jstatd tcp ...