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/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏分布式系统和大数据处理

linux常用命令(防火墙)

在部署和配置集群的时候,集群中的多台服务器需要通信,对于一些复杂的应用,例如consul、hadoop等,往往是客户端通信占用一个端口、Web UI占用一个端口...

1132
来自专栏Java后端生活

Linux(二)CentOS的安装

2385
来自专栏北京马哥教育

两个成倍提高工作效率的 Vim 使用技巧

1436
来自专栏软件测试经验与教训

ALM在win7/IE8下无法浏览

3265
来自专栏草根专栏

使用VS Code开发asp.net core (下)

本文是基于Windows10的. Debugging javascript 打开wwwroot/js/site.js, 写一段简单的js代码: (functio...

3125
来自专栏Python爬虫实战

Python环境搭建—安利Python小白的Python和Pycharm安装详细教程

人生苦短,我用Python。众所周知,Python目前越来越火,学习Python的小伙伴也越来越多。最近看到群里的小伙伴经常碰到不会安装Pyth...

832
来自专栏电光石火

给Dreamweaver插上Svn的翅膀

建立 SVN 连接  使用 Subversion (SVN) 作为 Dreamweaver 的版本控制系统之前,必须建立与 SVN 服务器的连接。与 ...

18210
来自专栏blackpiglet

使用 Docker 部署 MediaWiki

MediaWiki 是 Wikipedia 使用的网站解决方案的开源版,以个人观点来看,Wiki 在这个时代显得不够时尚,且不支持 MarkDown 等新兴的标...

1174
来自专栏大白虾谈架构

查看linux系统版本命令汇总

1143
来自专栏张戈的专栏

Nginx在线服务状态下平滑升级或新增模块的详细操作记录

今天,产品那边发来需求,说有个 APP 的 IOS 版本下载包需要新增 https 协议,在景安购买了免费的 SSL 证书。当我往 nginx 上新增 ssl ...

3707

扫码关注云+社区