python安装模块与包
2013-05-05 22:40
youxin
阅读(73662)
评论(0)
编辑
收藏
举报
Python模块,简单说就是一个.py文件,其中可以包含我们需要的任意Python代码。迄今为止,我们所编写的所有程序都包含在单独的.py文件中,因此,它们既是程序,同时也是模块。关键的区别在于,程序的设计目标是运行,而模块的设计目标是由其他程序导入并使用。
不是所有程序都有相关联的.py文件-比如说,sys模块就内置于Python中,还有些模块是使用其他语言(最常见的是C语言)实现的。不过,Python的大多数库文件都是使用Python实现的,因此,比如说,我们使用了语句import collections,之后就可以通过调用collections.namedtuple()创建命名的元组,而我们存取的功能则实现于collections.py模块文件中。对程序而言,模块使用哪种语言实现并不重要,因为所有模块导入与使用的方式都是相同的。
python还提供了创建包的工具.包实际上是多个模块聚集在一起形成的,之所以要聚集在一起,通常是因为这些模块提供了相关联的功能,或者彼此存在一定的依存关系。
Python中,想要安装第三方安装包,即third library,package等,对于熟悉的人来说,很简单。
但是对于新手,至少对于之前的我,很难,往往只是安装一个很小的包,都被搞得一头雾水。
现在略微清楚了大概逻辑了。
Python中第三方的库(library)、模块(module),包(package)的安装方法
方法1:下载源码,手动运行setup.py install去安装
下载对应的源码,往往都是.tar.gz,.zip的压缩包,解压后,打开windows的cmd,切换到对应目录,运行:
?
1 | |
即可去安装。
一些参考示例:
【记录】通过源码方式安装pip
【放弃解决】运行setup.py install去安装PyGreSQL出错:error: Unable to find vcvarsall.bat
【记录】Python中安装可以读写excel的xls文件的xlutils模块(需依赖于xlrd和xlwt)
方法2:利用第三方安装工具(如pip,easy_install,distribute等)去自动化安装
利用的目前常见的一些自动化安装工具,比如pip,easy_install,distribute等,自动帮你下载源码,并安装。
而且很多时候,由于要安装的包,还要依赖一些其他的别的包,而这类自动化安装工具,会自动帮你解决依赖关系,自动帮你下载并安装所缺少的那些包,所以相对来说,就省去了你的麻烦了。
1.安装easy_install.
首先下载easy_install的安装包,下载地址:
http://pypi.python.org/pypi/setuptools
如果想使用easy_install工具,可能需要先安装setuptools,不过更酷的方法是使用ez_setup.py脚本:
wget -q http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
官方说法:The recommended way to install setuptools on Windows is to download ez_setup.py and run it. The script will download the appropriate .egg file and install it for you.下载ez_setup.py然后直接运行它就安装成功了。
安装完后,最好确保easy_install所在目录已经被加到PATH环境变量里:
Windows: C:\Python25\Scripts (这里我们修改为自己安装的python目录下的Scripts)
Linux: /usr/local/bin
比如说要安装Python的MySQL支持,可以执行如下命令,系统会自动在pypi网站列表里查找相关软件包:
easy_install MySQL-python
可以看到,确实自动下载软件包并安装,类型linux下面安装软件了。
如果想删除通过easy_install安装的软件包,比如说:MySQL-python,可以执行命令:
easy_install -m MySQL-python
此操作会从easy-install.pth文件里把MySQL-python的相关信息抹去,剩下的egg文件,你可以手动删除。
参考:http://hi.baidu.com/thinkinginlamp/item/69cab949518d9aea1e19bcc1
python包管理工具:easy_install, setuptools, pip,distribute等区别:
可以看到distribute是setuptools的取代,pip是easy_install的取代。
关于这些包工具可以参考 http://guide.python-distribute.org/installation.html#installing-pip
下面简单的介绍一下:
Distribute是对标准库disutils模块的增强,我们知道disutils主要是用来更加容易的打包和分发包,特别是对其他的包有依赖的包。
Distribute被创建是因为Setuptools包不再维护了。
安装Distribute
可以通过distribute_setup.py 脚本来安装Distribute,也可以通过easy_install, pip,源文件来安装,不过使用distribute_setup.py来安装是最简单和受欢迎的方式
$ curl -0 http://python-distribute.org/distribute_setup.py
$ sudo python distribute_setup.py
Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能。
Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装。
安装Pip
Pip的安装可以通过源代码包,easy_install或者脚本。
下面介绍一下各种安装方法:
源代码方式:
$ wget http://pypi.python.org/packages/source/p/pip/pip-0.7.2.tar.gz (替换为最新的包)
$ tar xzf pip-0.7.2.tar.gz
$ cd pip-0.7.2
$ python setup.py install
easy_install:
$ easy_install pip
get_pip.py 脚本:
$ curl -0 https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ sudo python get-pip.py
OK, 下面来看一下Pip的使用
安装package
$ pip install Markdown (pip install --upgrade Markdown)
列出安装的packages
$ pip freeze
安装特定版本的package
通过使用==, >=, <=, >, <来指定一个版本号。
$ pip install \'Markdown<2.0\'
$ pip install \'Markdown>2.0,<2.0.3\'
升级包
升级包到当前最新的版本,可以使用-U 或者 --upgrade
$ pip install -U Markdown
卸载包
$ pip uninstall Markdown
查询包
pip search "Markdown"
安装后的包在python27\Lib\site-packages 目录下。
Python中用pip安装模块
【记录】通过源码方式安装pip
【已解决】Python中,运行pip install Django出错:’pip’ 不是内部或外部命令,也不是可运行的程序或批处理文件
Python中用easy_install安装模块
【已解决】Python中使用setup.py install去安装别的模块结果出错:ImportError: No module named setuptools
Python中用distribute安装模块
【记录】为Python安装distribute
【记录】为Python安装MySQL数据库模块:MySQLdb
- 分类 python