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 *这语句使用的,全部导出定义过的模块。
分享到:
相关推荐
Python2.7库包(共17个): rpm-python-4.11.3-40.el7.x86_64.rpm python-srpm-macros-3-32.el7.noarch.rpm python-setuptools-0.9.8-7.el7.noarch.rpm python-rpm-macros-3-32.el7.noarch.rpm libxml2-python-...
python-requests包及关联包,,,,用于pythom模块安装,,,包含有requests、idna-2.8、chardet-3.0.4、certifi-2019.6.16、urllib3-1.25.3
python-oracledb的源码和使用示例代码, python-oracledb 1.0,适用于Python versions 3.6 through 3.10. Oracle Database; This directory contains samples for python-oracledb. 1. The schemas and SQL ...
python 在 suse环境下开发C++模块必须的开发包,提供必要的头文件 配套环境: suse11 python2.6
python-包和模块
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
python kafka模块包,解压后执行 python setup.py install 即可安装
opencv_contrib_python-4.2.0.34-cp37-cp37m-win_amd64是opencv包含了主要模块和扩展模块的。 建议结合博客 “[opencv-contrib-python] 安装opencv-contrib-python” 使用。
等等,这都是opencv没有配置好的现象,在官网下载复制文件到site-packages,或是直接使用pip命令安装opencv,要么在pycharm的库中搜索,安装pythoncv等等,这些办法,经常都不好使,那么你可以试试使用WHL包安装的这...
python学习笔记,包含模块和包,异常,警告和文件读写
python2.7.8 32位安装包及相关模块安装包,还有32位的PyScripter。 资源包含的文件如下: python-2.7.8.msi matplotlib-1.4.0.win32-py2.7.exe MySQL-python-1.2.4b4.win32-py2.7.exe numpy-1.8.1-win32-...
离线版Python API3.8.5包 Python语言参考 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。它还描述了通常包含在 Python 发行版中的一些可选组件。 Python 标准库非常庞大,...
Awesome-CMake包含CMake脚本,模块,示例和其它资源的集合
模块名 [as 别名]]、方式二:from 包名 import 模块名 [as 别名]、方式三:from 包名.模块名 import 成员名 [as 别名]。 异常、异常处理、捕获指定异常类型、捕获多个指定异常、捕获所有异常、异常的捕获信息、 ...
自动支持大多数纯Python模块,并内置支持许多其他模块,包括流行的依赖项,例如numpy和sqlalchemy。 多个架构目标,适用于在任何给定设备上优化的APK。 有关文档和支持,请参阅: 网站: : 邮件列表: : forum...
reactionrnn是基于Keras / TensorFlow之上的Python 2/3模块 R包,它可以使用预先训练的循环神经网络轻松地预测给定文本的情绪比例(爱,哇,哈哈,悲伤,愤怒)。
python2.7.16解压安装包,包含ibm_db、requests、idna-2.8、chardet-3.0.4、certifi-2019.6.16、urllib3-1.25.3模块已安装。
python学习笔记,包含datetime模块-SQL数据库-对象关系映射-函数进阶
包含要安装media的各个模块的安装包,并附加安装的步骤。
python