一、需要准备的事情

1、当然是自己的Python代码包了;

2、注册PyPI的一个账号。

二、详细介绍

1、代码包的结构:

application

  \application
__init__.py
myapplication.py
......
\docs
  README.txt
setup.py

2、说明

setup.py是不可缺少的,定义了代码包的详细信息,我们也是通过该模块进行打包,上传等操作。

docs是项目文档,可以通过sphinx生成。可在setup模块中通过参数实现,long_description=__doc__,详见下面代码。

README.txt是对整个代码包的描述。

application是本项目的代码包,代码包嘛,必须要有__init__.py文件。

3、setup.py编写

try:
from setuptools import setup
except ImportError:
from distutils.core import setup
"""
这里这么写的目的是防止setup导入出错,安装出现异常。但一般不会出错
""" setup(
name='haibo',
version='0.1.2',#该信息是必不可少的
author='haibo',
author_email='hbnnlong@163.com',
description='haibo universal function',
license='MIT',
packages=['haibo',],#需要安装的代码包,也可以用find_packages函数
install_requires=['mako>=1.0.3',
],#一些第三方账号,需要在这里申明。
classifiers = [
'License :: OSI Approved :: MIT License',
'Programming Language :: Python',
'Intended Audience :: Developers',
'Operating System :: OS Independent',
],#这也需要遵循标准格式
keywords='haibo function',
url='hbnnlove.sinaapp.com',
zip_safe=True,#设为True,以zip的方式进行传输
include_package_data=True,#字面意思就可理解
platforms='any'
)

..............

4、代码编写完后的工作:

  1)用Python setup.py check检查一下。如果出现running check则表示正常;
2)敲Python setup.py sdist(保证用pip安装);
pyhton setup.py bdist_egg (保证easy_install安装)
   3)执行python setup.py register sdist bdist_egg upload进行上传。
在该步骤中需要输入你在PyPI的用户名和密码。

 

参考文献:

http://liluo.org/blog/2012/08/how-to-create-python-egg/

http://docs.python.org/2/distutils/index.html

上传自己的Python代码到PyPI的更多相关文章

  1. 使用 twine 上传自己的 python 包到 pypi

    打包检查 python setup.py check 打包 python3 setup.py sdist build 上传 twine upload dist/* twine 安装: pip inst ...

  2. 【Python实战02】共享Python代码到PyPI社区

    之前学习了Python的列表,以及编写了一个函数来进行列表的输出,这次我们就继续来学习如何把我们已经编写好的代码共享到PyPI社区,这里以上篇文章中编写的print_lol函数为例. 函数转换为模块 ...

  3. 上传python代码到pypi

    上传python代码到pypi 去pypi官网注册账号 在项目中添加setup.py # coding = utf-8 from setuptools import setup, find_packa ...

  4. 上传本地代码及更新代码到GitHub教程

    上传本地代码及更新代码到GitHub教程 上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo " ...

  5. 【学习总结】【Java】Git学习-上传本地已有代码到GitHub

    < Git学成归来后的第一次实战 > 上传本地已有代码到GitHub 以之前学了一小半的Java基础教程代码为例 <深坑预警:在GitHub新建仓库那一步,不要勾选readme,不然 ...

  6. C# FTP上传文件至服务器代码

    C# FTP上传文件至服务器代码 /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo ...

  7. 2018年7月份,python上传自己的包库到pypi官网的方法

    最近pypi官网进行了更新,老的上传网址作废了.记录下上传到pypi的方法 0.去pypi官网注册账号,没账号是不可能上传的,想想也是那不乱套了吗,注册后会收到一个邮件需要点击然后重新登录 1.目录就 ...

  8. python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv)

    一.上传文件 上传一个图片 使用input type="file",来上传一个文件.注意:form表单必须添加属性enctype="multipart/form-data ...

  9. 优酷上传SDK解析(Python)

    1.优酷上传 1)调用优酷的sdk完成优酷视频的上传首先需要将实例化YoukuUpload类实例化,传入的参数为(client_id,access_token,文件地址) 实例化时执行__init__ ...

随机推荐

  1. 轻松解决U盘中病毒,文件变成.exe执行文件的问题

    U盘中的文件都变成.exe可执行文件是怎么回事?告诉你,你的U盘中病毒了,那么如何清除呢?小编现在就告诉你几个简单方法,轻松就能搞定U盘中病毒问题. 方法1: (1)首先使用杀毒软件把U盘杀杀毒,除去 ...

  2. Javascript学习笔记:3种定义函数的方式

    ①使用函数声明语法定义函数 function sum(num1,num2){ return num1+num2; } ②使用函数表达式定义函数 var sum=function(num1,num2){ ...

  3. display inline-block 垂直居中

    table td:after {display:inline-block;width:0;height:100%;vertical-align:middle;content:'';}

  4. Scrum Meeting 14-20151227

    说明 这几天我们代码人员一直在做数据库,没有来得及更新博客,从明天开始将会正常做scrum meeting,也将加快开发 工作,预计beta版本将会在12.30之前发布. 摘要 目前基本开发都已经做的 ...

  5. Asp.Net_Mvc_获取当前Url、Controller、Action

    一.URL的获取很简单,ASP.NET通用: [1]获取 完整url (协议名+域名+虚拟目录名+文件名+参数) string url=Request.Url.ToString(); [2]获取 虚拟 ...

  6. ichecked 全选、反选

    //iChecked复选框的全选.反选var checkBox =function (checkParents){ $(checkParents).find('.minimalCheckBox1'). ...

  7. Loading加载小插件,用户可以选择html格式或canvas格式,自定义loading图片,canvas色彩搭配可根据个人喜好

    ;(function($) { $.Loading = function(options) { //暴漏插件默认值 $.Loading.defaults = { speed: 200, //弹出层淡出 ...

  8. Excel字符串连接

    1.利用&连接. ="('"&A4&"','"&B4&"','"&C4&" ...

  9. swift_枚举 | 可为空类型 | 枚举关联值 | 枚举递归 | 树的概念

    ***************可为空的类型 var demo2 :we_demo = nil 上面这个代码串的语法是错的 为什么呢, 在Swift中,所有的类型定义出来的属性的默认值都不可以是nil ...

  10. Linux下如何修改Apache根目录

    创建自己需要更改的新目录,并更改宿主权限为apache用户 chown -R apache:apache /mnt/www   停止Apache服务 service httpd stop 3 修改Ap ...