一、准备发布

1.为模块文件创建一个文件夹,并将模块文件复制到这个文件中(一般,文件夹的名字和模块的名字一样)

2.在文件夹中创建一个名为『setup.py』的文件,内容如下:

#encoding:utf-8
#发布文件 #从Python发布工具导入"setup"函数
from distutils.core import setup setup(
name='ljq_helloWorld',
version='1.0.0', author='keenleung',
author_email='lsjljq@163.com',
url='http://www.keenleung.com', description='这是我的第一个发布安装文件'
)

二、构建发布

1.构建一个发布文件

通过终端,cd到模块文件夹,键入命令:

python setup.py sdist

2.将发布安装到你的Python本地副本中

仍在终端操作,键入命令:

sudo python setup.py install

三、发布预览

成功将模块转换为一个发布,并安装到Python本地副本上后,会有几个新的文件或文件夹出现:

1.MANIFEST

包含发布中的文件列表

2.build -> lib -> helloWorld.py

这是新增的文件夹,代码在helloWorld.py中

3.dist -> helloWorld-1.0.0.tar.gz

helloWorld-1.0.0.tar.gz是发布包

4.helloWorld.pyc

是『编译』版本的代码

四、导入模块并使用

使用import + 模块名(不需要.py)即可

注意:调用模块中的方法,必须指出命名空间,比如:

import ljq_helloWorld

items = [1,2,3,4,5,6,7,8]

#ljq_helloWorld.print_list(items)

五、上传到PyPI

1.注册PyPI网站

http://pypi.python.org

2.向PyPI上传代码

1)使用终端,cd到模块文件夹,并敲入命令:

python setup.py register

会提醒你选择哪一种方式,选择『use your existing login』即可

然后输入你的PyPI帐号的用户名和密码

正确后,会再次提醒你是否保存登录,选择『y』即可,以备日后使用

2)接着是上传代码,需要使用命令:

python setup.py sdist upload

Finished!!!!

python: 模块发布的更多相关文章

  1. Python模块发布

    项目根目录添加setup.py模块: from distutils.core import setup setup( name="模块名字", version="1.0. ...

  2. python 模块发布及使用

    将模块(此处名为nester)写好后,与setup.py放入同一个文件夹中: //setup.py from distutils.core import setup setup( name=" ...

  3. 打包发布Python模块或程序,安装包

    Python模块.扩展和应用程序可以按以下几种形式进行打包和发布: python setup.py获取帮助的方式 python setup.py --help python setup.py --he ...

  4. Python深入:Distutils发布Python模块--转载

    https://blog.csdn.net/gqtcgq/article/details/49255995 Distutils可以用来在Python环境中构建和安装额外的模块.新的模块可以是纯Pyth ...

  5. python模块之导入包及模块发布

    1.导入包(不常用的方法) 在使用python的包时,有时候想直接导入包名,然后通过包名来调用模块,例如: temp为我们创建的一个包,如果我们想通过下面的方式进行导入模块中的方法,将会出错 impo ...

  6. Python深入:Distutils发布Python模块

    Distutils可以用来在Python环境中构建和安装额外的模块.新的模块可以是纯Python的,也可以是用C/C++写的扩展模块,或者可以是Python包,包中包含了由C和Python编写的模块. ...

  7. Python模块常用的几种安装方式

    Python模块安装方法 一.方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行:pytho ...

  8. Python模块学习

    6. Modules If you quit from the Python interpreter and enter it again, the definitions you have made ...

  9. python模块介绍- binascii 二进制和ASCII转换

    python模块介绍-binascii二进制和ASCII转换 目录 项目简介 简介: Uu编码 Binhex编码 Base64编码 QP码 CRC校验和 二进制转换 其他实例 项目简介 Python中 ...

随机推荐

  1. vue 解决display与 transition冲突

    下边是vue的源码 var raf = inBrowser && window.requestAnimationFrame; var waitForTransitionStart = ...

  2. A trip through the Graphics Pipeline 2011_09_Pixel processing – “join phase”

    Welcome back!    This post deals with the second half of pixel processing, the “join phase”. The pre ...

  3. LoadRunner11.00入门教程

    安装成功后,根据教程,有自带的应用程序供新手快速掌握Loadrunner的使用.测试应用是一个基于web的旅行社应用程序,也就是供用户在线预订机票的应用.根据教程和操作,重新总结一下测试流程以及遇到的 ...

  4. controlling the variance of request response times and not just worrying about maximizing queries per second

    http://highscalability.com/blog/2010/11/4/facebook-at-13-million-queries-per-second-recommends-minim ...

  5. angularJs的ng-class切换class

    在angular中为我们提供了3种方案处理class: 1:scope变量绑定 2:字符串数组形式. 3:对象key/value处理. 第一种我们不推荐使用,看看其他两种解决方案: 字符串数组形式 字 ...

  6. windows2003服务器mysql每天定时备份

    1.php利用mysqldump备份数据库,代码如下: <?php /** * 数据库备份 */ $sqlname = $argv[1]; //接受bat或cmd传过来的第一个参数 要备份的数据 ...

  7. Spring MVC Integration,Spring Security

     http://docs.spring.io/spring-security/site/docs/4.2.0.RELEASE/reference/htmlsingle/#authorize-reque ...

  8. LUA表克隆方法归纳

    lua表克隆 将lua一个表, 克隆出一份为一个独立的另外一个表. 对于一个module, 如果在require之后,获得的表对象, 不能直接修改, 例如lua缓存此表, 但是多次逻辑执行, 都使用的 ...

  9. Saving changes is not permitted in SQL Server

    From Save (Not Permitted) Dialog Box on MSDN : The Save (Not Permitted) dialog box warns you that sa ...

  10. [转] 基于MySQL的秒杀核心设计(减库存部分)-防超卖与高并发

    商品详情页面的静态化,varnish加速,秒杀商品库独立部署服务器这种就略过不讲了.只讨论库存部分的优化 mysql配置层面的优化可以参考我的这篇文章 <关于mysql innodb引擎性能优化 ...