python-模块,包,安装
2011-03-25 14:21
357 查看
模块 module 安装
1. 单文件模块
直接把文件拷贝到$python_dir/lib
2. 多文件模块,带setup.py
python setup.py install
3. egg文件,类似Java的jar
1) 下载ez_setup.py,运行python ez_setup
2) easy_install *.egg
egg是peak的一个产品,现在是python发布的主流工具之一,详细信息可以参考
http://peak.telecommunity.com/DevCenter/PythonEggs http://peak.telecommunity.com/DevCenter/EasyInstall 模块
模块,在Python可理解为对应于一个文件。在创建了一个脚本文件后,定义了某些函数和变量。你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量。一般用module_name.fun_name,和module_name.var_name进行使用。这样的语义用法使模块看起来很像类或者名字空间,可将module_name 理解为名字限定符。模块名就是文件名去掉.py后缀。下面演示了一个简单的例子:
#moduel1.py
def say(word):
print word
#caller.py
import module1
print __name__
print module1.__name__
module1.say('hello')
$ python caller.py
__main__
module1
hello
例子中演示了从文件中调用模块的方法。这里还展示了一个有趣的模块属性__name__,它的值由Python解释器设定。如果脚本文件是作为主程序调用,其值就设为__main__,如果是作为模块被其他文件导入,它的值就是其文件名。这个属性非常有用,常可用来进行模块内置测试使用,你会经常在一些地方看到类似于下面的写法,这些语句只在作为主程序调用时才被执行。
if __name__ == '__main__':
app = wxapp(0)
app.MainLoop()
模块能像包含函数定义一样,可包含一些可执行语句。这些可执行语句通常用来进行模块的初始化工作。这些语句只在模块第一次被导入时被执行。这非常重要,有些人以为这些语句会多次导入多次执行,其实不然。
模块在被导入执行时,python解释器为加快程序的启动速度,会在与模块文件同一目录下生成.pyc文件。我们知道python是解释性的脚本语言,而.pyc是经过编译后的字节码,这一工作会自动完成,而无需程序员手动执行。
包
在创建许许多多模块后,我们可能希望将某些功能相近的文件组织在同一文件夹下,这里就需要运用包的概念了。包对应于文件夹,使用包的方式跟模块也类似,唯一需要注意的是,当文件夹当作包使用时,文件夹需要包含__init__.py文件,主要是为了避免将文件夹名当作普通的字符串。 __init__.py的内容可以为空,一般用来进行包的某些初始化工作或者设置__all__值,__all__是在from package-name import *这语句使用的,全部导出定义过的模块。
相关文章推荐
- python爬虫模块安装
- 【Python】Python模块常用的几种安装方式
- Python的MySQLdb模块安装
- python安装库后无法成功导入模块
- python安装easy_install以安装管理模块
- python3.6 nmap模块的安装问题
- python的paramiko模块的安装与使用
- python的各种模块安装及其两个版本一起安装
- python libsvm模块在mac上的安装
- 彻底卸载Python及安装的Python模块
- Python模块安装方法
- 为Anaconda安装python模块
- python安装模块的方法
- 安装,使用Python easy_install 模块
- 64位centos下安装python的PIL模块
- Mac-osx下pip安装python模块权限的问题解决
- 【转】常用的python模块及安装方法
- 安装Python的docx模块
- python学习--graphics模块安装与学习
- Python进阶(一)安装Python、程序执行、Python模块和IDLE调试