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 条评论
登录 后参与评论

相关文章

来自专栏行者常至

数据库连接池简单连接

模型      -----     Model 视图      -----     View 控制器  -----     Controller

863
来自专栏Felix的技术分享

《一个操作系统的实现》笔记(2)--保护模式

3038
来自专栏草根专栏

使用Identity Server 4建立Authorization Server (1)

本文内容基本完全来自于Identity Server 4官方文档: https://identityserver4.readthedocs.io/ 官方文档很详...

46910
来自专栏沃趣科技

ASM 翻译系列第三十六弹:ACFS磁盘组的重平衡操作

原作者:Bane Radulovic 译者: 魏兴华 审核: 魏兴华 DBGeeK社区联合出品 原文链接:http://asmsupportguy....

35311
来自专栏大魏分享(微信公众号:david-share)

Ansible Tower标准化管理案例

. 配置sudo 1. 修改文件权限 [root@localhost]# cat mod-sudo-1.yml --- - hosts: all ...

3769
来自专栏Netkiller

CentOS 6.4 + nginx-1.2.5 + php-5.4.15 + MySQL-5.5.31

CentOS 6.4 + nginx-1.2.5 + php-5.4.15 + MySQL-5.5.31 摘要 在工作中,需要经常为新系统安装软件,重复而简单,...

3186
来自专栏草根专栏

使用Identity Server 4建立Authorization Server (6) - js(angular5) 客户端

由于手头目前用项目, 所以与前几篇文章不同, 这次要讲的js客户端这部分是通过我刚刚开发的真是项目的代码来讲解的. 这是后端的代码: https://githu...

5385
来自专栏py+selenium

linux 安装weblogic12.1.3.0步骤

需注意:fmw_12.1.3.0.0_wls.jar     需要jdk1.7.0_15以上的版本

5515
来自专栏云计算

在Ubuntu 16.04上安装Seafile并配置Nginx

Seafile是一个跨平台的文件托管工具,包含了适用于Linux和Windows的服务器应用程序,以及适用于Android,iOS,Linux,OS X和Win...

6493
来自专栏Android干货

Android项目实战(二十五):Android studio 混淆+打包+验证是否成功

3257

扫码关注云+社区