Python代码的打包与发布详解

yipeiwu_com6年前Python基础

在python程序中,一个.py文件被当作一个模块,在各个模块中定义了不同的函数。当我们要使用某一个模块中的某一个函数时,首先须将这个模块导入,否则就会出现函数未定义的情况.

下面记录的是打包及安装包的方法。

本文示例是建立一个模拟登录的程序:

logIn.py文件代码如下:

pwd=int(raw_input('please input your passward: '))
if pwd==123:
  print 'success'
else:
  print 'error'

一、打包

1.先建立一个文件夹,这个文件夹用来存放我们将要用于发布的.py文件,(现在我们建立一个文件夹名为distribution,将logIn.py放在这个文件夹中)

2.在distribution文件夹中新建一个 setup.py文件代码如下:

from distutils.core import setup
setup(
 name='logIn',  #这个是最终打包的文件名
 version='1.0.0',
 py_modules=['logInr'], #要打包哪些,.py文件,
 )

3.在最终中,cd到这个distrbution文件夹中,然后运动行如下命令:

python setup.py sdist

这样在文件夹中就多出了几个文件,在dist文件夹中的,logIn-1.0.0.tar.gz就是我们的发布包了;

二、安装包到本地副本中:

sudo python setup.py install

路径为:/usr/local/lib/python2.7/dist-packages

相关文章

进一步理解Python中的函数编程

我们最好从最难的问题开始:“到底什么是函数编程 (FP)?”一个答案可能会说 FP 就是您在使用例如 Lisp、Scheme、Haskell、ML、OCAML、Clean、Mercury...

Python面向对象之类的封装操作示例

本文实例讲述了Python面向对象之类的封装操作。分享给大家供大家参考,具体如下: 承接上一节《Python面向对象之类和实例》,学了Student类的定义及实例化,每个实例都拥有各自的...

pytorch中的卷积和池化计算方式详解

pytorch中的卷积和池化计算方式详解

TensorFlow里面的padding只有两个选项也就是valid和same pytorch里面的padding么有这两个选项,它是数字0,1,2,3等等,默认是0 所以输出的h和w的...

Python字节单位转换实例

我就废话不多说了,直接上代码! from enum import Enum class Values(): values={'B':1} @staticmethod...

常见的在Python中实现单例模式的三种方法

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资...