python: 模块发布
一、准备发布
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: 模块发布的更多相关文章
- Python模块发布
项目根目录添加setup.py模块: from distutils.core import setup setup( name="模块名字", version="1.0. ...
- python 模块发布及使用
将模块(此处名为nester)写好后,与setup.py放入同一个文件夹中: //setup.py from distutils.core import setup setup( name=" ...
- 打包发布Python模块或程序,安装包
Python模块.扩展和应用程序可以按以下几种形式进行打包和发布: python setup.py获取帮助的方式 python setup.py --help python setup.py --he ...
- Python深入:Distutils发布Python模块--转载
https://blog.csdn.net/gqtcgq/article/details/49255995 Distutils可以用来在Python环境中构建和安装额外的模块.新的模块可以是纯Pyth ...
- python模块之导入包及模块发布
1.导入包(不常用的方法) 在使用python的包时,有时候想直接导入包名,然后通过包名来调用模块,例如: temp为我们创建的一个包,如果我们想通过下面的方式进行导入模块中的方法,将会出错 impo ...
- Python深入:Distutils发布Python模块
Distutils可以用来在Python环境中构建和安装额外的模块.新的模块可以是纯Python的,也可以是用C/C++写的扩展模块,或者可以是Python包,包中包含了由C和Python编写的模块. ...
- Python模块常用的几种安装方式
Python模块安装方法 一.方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行:pytho ...
- Python模块学习
6. Modules If you quit from the Python interpreter and enter it again, the definitions you have made ...
- python模块介绍- binascii 二进制和ASCII转换
python模块介绍-binascii二进制和ASCII转换 目录 项目简介 简介: Uu编码 Binhex编码 Base64编码 QP码 CRC校验和 二进制转换 其他实例 项目简介 Python中 ...
随机推荐
- 临床试验中PI、CI、SI、COI是指哪些人?
今天为大家介绍的是临床试验的研究者的类型.临床试验的研究者是指在试验所在地负责实施临床试验的人员. 如果一项试验在试验场所由一组人员实施,研究者则为该组人员的负责人或领导者,也称之为主要研究者(Pri ...
- python - socket - server
网络上关于socket的介绍文章数不胜数.自己记录下学习的点点滴滴.以供将来复习学习使用. socket中文的翻译是套接字,总感觉词不达意.简单的理解就是ip+port形成的一个管理单元.也是程序中应 ...
- Error:Unsupported major.minor version 51.0 .
替换了项目jar文件Tomcat运行报错, 项目开发环境jdk1.6,替换jar文件编译环境是1.7 修改eclipse java ->compiler和Installed JREs 重新编译替 ...
- 总结-swing、JFrame、JScrollPane、JTabbedPane、JEditorPane
总结-swing.JFrame.JButton.JScrollPane.JLabel.JTabbedPane.JEditorPane 1.JButton内边距(去掉按钮里的空白):setMargin2 ...
- 检测PC端和移动端的方法总结(转)
正在苦逼的实习中,昨天公司让做一个页面,涉及到检测终端的问题,如果是手机设备,就跳转到指定的网页上,以前写响应式布局只要用@media screen来实现布局的差异化适应,但是现在不仅仅是布局,还要针 ...
- OceanBase架构(二)
http://www.cnblogs.com/LiJianBlog/p/4779990.html OceanBase架构浅析(二) 单点性能 OceanBase架构的优势在于既支持跨行跨表事务,又 ...
- cocos2dx 3.x(屏幕截图的两种方法)
[RenderTexture] RenderTexture这个动态纹理类,顾名思义就是可以动态创建纹理图片. 屏幕截图主要步骤: > 开始截图:render->begin(); > ...
- 线性时间的排序算法--桶排序(以leetcode164. Maximum Gap为例讲解)
前言 在比较排序的算法中,快速排序的性能最佳,时间复杂度是O(N*logN).因此,在使用比较排序时,时间复杂度的下限就是O(N*logN).而桶排序的时间复杂度是O(N+C),因为它的实现并不是基于 ...
- 借助Glances Monitor,密切关注你的系统
两种方法安装 glances 通常可以有两种方法安装 glances.第一种是通过编译源代码的方式,这种方法比较复杂另外可能会遇到软件包依赖性问题.还有一种是使用特定的软件包管理工具来安装 glanc ...
- 使用ajax上传中遇到的问题
使用ajaxSubmit提交文件时,正确使用返回的json数据需要用eval在转化一下. 前台文件: $("#form1").ajaxSubmit({ url: 'QueryHan ...