写python程序时常常要导入各种包,使用其中的模块或功能。我们如果有可以复用的功能或模块也可以发布成包,并安装在自己或他人电脑上,以供自己或别人使用。python发布包的步骤如下:

一、首先为模块创建一个文件夹

比如我有一个名为analyzelog.py的文件想发布成包,新建了一个文件夹AnalyzeLogTest(名字无所谓),并放入analyzelog.py文件

二、在新文件夹中创建一个名为setup.py的文件

这个文件包含有关发布的元素,增加如下代码 

from distutils.core import setup

setup(
name = 'analyzelog',
version = '1.0.0',
py_modules = ['analyzelog'],
author = 'zs',
author_email = 'XXXX',
url = 'xxxxx',
description = 'XXXXXXXXX',
)

开头先从python发布工具导入“setup”函数

接下来调用setup函数,并为setup函数传参。

name是模块的名字,version是版本号,py_modules是模块包含的文件名,是一个列表,剩下几项是作者、作者邮箱,网址,和模块的描述

setup.py创建好之后,就可以开始下一步了。

三、 构建一个发布版本

在命令行界面进入到新建的文件夹路径下,输入如下命令:(我用的windows,已将python的地址设置在系统环境变量中)

python setup.py sdist

如上图所示,python包就发布好了

四、将发布的包安装到本地

输入如下命令python setup.py install,如下图所示,就安装完成了。

从图中我们也可以看到python安装大体做了哪些工作:1. 把代码拷贝到了python主目录下的Lib\site-packages文件夹中;2. 编译代码成为中间代码,对于中间代码,只有要原代码有变化时,编译才会重新生成中间代码,原代码如果没有变化,编译时中间代码不会重新生成。

让我们回头看一下,新建的文件夹下有什么变化

最开始的时候里面有两个文件夹,analyzelog.py和setup.py

安装完成后里面多了几个文件和文件夹,如下图所示。

MANIFEST文件中包含发布中的文件列表,可以用记事本打看看一下,里面记录了analyzelog.py和setup.py

build文件夹及子文件夹lib存放的是原代码analyzelog.py

dist文件夹中存放的是发布包analyzelog-1.0.0.tar.gz

最后我们就可以在python代码中import之前安装的包,使用其中的模块或函数了。

发布python包的更多相关文章

  1. 在pypi上发布python包详细教程

    使用Python编程中Python的包安装非常方便,一般都是可以pip来安装搞定:pip install <package name>,我们自己写的python也可以发布在pypi上,很简 ...

  2. gitlab+jenkins自动发布Python包到私有仓储

    背景 有个私有仓储,地址为https://your.repo.com/pypi/ 代码存储在gitlab, 地址为https://gitlab.company.com/software.git CI为 ...

  3. 2019-02-20 在PyPI测试平台发布Python包

    参考Packaging Python Projects, 源码在nobodxbodon/test-package-for-pypi 包名/__init__.py: 测试变量 = "值&quo ...

  4. 将python包发布到PyPI和制作whl文件

    参考链接:wheel和egg的不同怎样将自己写的包传达到PyPi发布你自己的轮子 - PyPI打包上传实践PyPI官网上传包教程 wheel文件Wheel和Egg都是python的打包格式,目的是支持 ...

  5. python包管理工具他们之间的关系

    python包管理工具之间的关系 现在的python包管理工具有很多,非常混乱,必须理清他们之间的关系才能更好的使用python构建强大的包关系系统工具. 首先:python官方推荐的第三方库是PyP ...

  6. 纯Python包发布setup脚本编写示例

    如果你有多个模块需要发布,而它们又存在于多个包中,那么指定整个包比指定模块可能要容易地多.即使你的模块并不在一个包内,这种做法也行的通:你可以告诉Distutils从根包(root package)处 ...

  7. 在Pypi上发布自己的Python包

    使用Python编程的都知道,Python的包安装非常的方便,一般都是可以pip来安装搞定: sudo pip install <package name> pip的安装请移步:https ...

  8. 手把手教你发布一个Python包

    本文主题如下: 编写一个包(Python 源代码),但不是本文的重点. 编译包,观察编译后的文件. 发布包,发布的包可以有多种类型. 如何在 Pypi 中查看已发布的包 注意: 本文编写的包在 Pyt ...

  9. 实战教程:如何将自己的Python包发布到PyPI上

    1. PyPi的用途 Python中我们经常会用到第三方的包,默认情况下,用到的第三方工具包基本都是从Pypi.org里面下载. 我们举个栗子: 如果你希望用Python实现一个金融量化分析工具,目前 ...

随机推荐

  1. python selenium-webdriver 定位frame中的元素 (十三)

    定位元素时经常会出现定位不到元素,这时候我们需要观察标签的上下文,一般情况下这些定位不到的元素存放在了frame或者放到窗口了,只要我们切入进去就可以很容易定位到元素. 处理frame时主要使用到sw ...

  2. Dubbo和Spring Cloud

    1.Dubbo和Spring Cloud区别 1).通信方式不同 Dubbo使用RPC通信,Spring Cloud使用Http RestFul方式 2) 组成部分不同 组件 Dubbo Spring ...

  3. linux系统服务详解

    下面现介绍一下运行次序和运行级别: 一个 Linux 系统的引导过程可以分为几个阶段.我们主要看看当内核加载后的那一个阶段.你可以运行runlevel 命令来确定您的系统当前的运行级,当内核被加载并开 ...

  4. php5.5.7添加pgsql,pdo_pgsql,swoole

    一:下载php源码sudo wget cn2.php.net/distributions/php-X.X.X.tar.gz 二:解压 tar xzf /php-X.X.X.tar.gz 三:进入源码e ...

  5. 使用密钥登录CentOS系统(基于密钥的认证)

    在Window客户端有多种软件可以登陆ssh,比如putty,xshelll,secureCRT,我就以xshell为例设置使用公钥和私钥验证登陆服务器. 使用Xshell密钥认证机制远程登录Linu ...

  6. Android Studio中绘制simpleUML类图详细说明及使用

    一.Android Studio中安装simpleUML 1.下载simpleUML jar包 地址为:http://plugins.jetbrains.com/  搜索 simpleUMLCE 2. ...

  7. CF963D Frequency of String

    https://codeforces.com/problemset/problem/123/D 题目大意 给一个字符串 \(s\),每次询问一个字符串 \(m_i\) 和一个正整数 \(k_i\),问 ...

  8. sql查询统计

    SELECT TOP 50 (select text from sys.dm_exec_sql_text(sql_handle)) as [SQL], CAST( ((qs.total_elapsed ...

  9. 打造高效的工作环境 – SHELL 篇

    注:本文由雷俊(Javaer/Emacser)和我一起编辑,所以文章版权归雷俊与我共同所有,转载者必需注明出处和我们两位作者.原文最早发于酷壳微信公众号,后来我又做了一些修改,再发到博客这边. 程序员 ...

  10. Halcon Visinpro 破解版

    目前测试过的破解版资料: halcon10    可用已测   完美破解 halcon12   可用已测   完美破解 halcon13   可用已测   完美破解 halcon17   可用已测   ...