分享

python安装模块与包

 书剑阁2013 2015-03-25

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
setup.py install

即可去安装。

 

一些参考示例:

【记录】通过源码方式安装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./pypi/setuptools
如果想使用easy_install工具,可能需要先安装setuptools,不过更酷的方法是使用ez_setup.py脚本:

wget -q http://peak./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./installation.html#installing-pip

 

下面简单的介绍一下:

Distribute是对标准库disutils模块的增强,我们知道disutils主要是用来更加容易的打包和分发包,特别是对其他的包有依赖的包。

Distribute被创建是因为Setuptools包不再维护了。

安装Distribute

可以通过distribute_setup.py 脚本来安装Distribute,也可以通过easy_install, pip,源文件来安装,不过使用distribute_setup.py来安装是最简单和受欢迎的方式

 

$ curl -0 http:///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./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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多