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中面向对象编程的相关知识

深入讲解Python中面向对象编程的相关知识

 Python从第一天开始就是面向对象的语言。正因为如此,创建和使用类和对象是非常地容易。本章将帮助您在使用Python面向对象编程的技术方面所有提高。 如果没有任何以往面向对...

python 解决flask uwsgi 获取不到全局变量的问题

问题 在写flask,使用uwsgi启动的时候,涉及到多request线程访问同一个全局变量,发现不能获取到全局变量的值的修改,这在flask独立启动的时候是没有问题的。 伪代码 全局变...

python实现log日志的示例代码

源代码: # coding=utf-8 import logging import os import time LEVELS={'debug':logging.DEBUG,\...

django+xadmin+djcelery实现后台管理定时任务

django+xadmin+djcelery实现后台管理定时任务

继上一篇中间表的数据是动态的,图表展示的数据才比较准确。这里用到一个新的模块Djcelery,安装配置步骤如下: 1.安装 redis==2.10.6 celery==3.1.23 dj...

python异常触发及自定义异常类解析

python程序运行中,可由程序抛出异常。 异常触发:使用raise命令抛出异常,即可使用异常基类Exception,也可使用自定义异常类(继承Exception类)。 class...