python安装第三方的包
转载自:http://blog.csdn.net/xyqzki/article/details/38414433
第一种基本安装方法
1 下载第三方包,解压
2 在命令提示符里输入cmd,然后用cd进入到第三方包的路径下
3 输入python setup.py build
4 输入python setup.py install
看到包内的文件在安装即可……
第二种 用pip和virtualenv安装
p可以很方便的安装、卸载和管理Python的包。
virtualenv则可以建立多个独立的虚拟环境,各个环境中拥有自己的python解释器和各自的package包,互不影响。
pip和virtualenv可以很好的协同工作,同时使用这两个工具非常方便。
一般先安装pip,安装好后,pip install virtualenv就可以自动从网上下载并安装virtualenv了。然后virtualenv env1就可以创建一个名为env1的虚拟环境了,进入这个虚拟环境后,再使用pip install安装其它的package就只会安装到这个虚拟环境里,不会影响其它虚拟环境或系统环境。
当需要将虚拟环境env1迁移或复制到另一个虚拟环境(可能不在同一台机器上)env2时,首先仍然需要在目的机器上安装pip和virtualenv,然后采用以下方法之一安装其他的package:
- 1.直接将env1里的文件全部复制到env2里,然后修改涉及路径的文件。此种方法可能正常使用,但显然不是好办法。
- 2.进入原虚拟环境env1,然后执行pip freeze > requirements.txt将包依赖信息保存在requirements.txt文件中。然后进入目的虚拟环境env2,执行pip install -r requirements.txt,pip就会自动从网上下载并安装所有包。
- 3.pip默认会从pypi服务器(http://pypi.python.org/simple)下载包的安装文件,如果目的机器无法连外网,则可以采用以下办法:
- 3.1搭建自己的pypi服务器。专业的,可以使用第三方的软件包来搭建一个完整的pypi镜像服务器,参考http://www.worldhello.net/2011/03/14/2357.html。更快速的方法只需要一条命令python -m SimpleHTTPServer即可完成搭建服务器,具体的目录结构可参考原pypi服务器,简而言之,就是把安装文件打包放入目录即可。搭建好服务器之后,在目的虚拟环境中,就可以使用pip来安装了,命令如:pip install -i http://127.0.0.1:8000/ -r requirements.txt
- 3.2如果你实在不想搭建pypi服务器,也有办法。首先将所有包的安装文件下载下来,可以手动下载,也可以使用pip,如pip install -d /path/to/save/ -r requirements.txt,然后自己修改requirements.txt文件,将每一行改成对应的包的安装文件的路径。最后在目的虚拟环境中使用pip安装,如pip install -r requirements.txt即可。
- 3.3还有一种途径,就是pip提供的bundle选项。首先执行pip bundle MyEnv.pybundle -r requirements.txt,将生成一个MyEnv.pybundle文件,该文件夹包含所有包的安装文件(注意必须后缀名必须是.pybundle),默认是重新从pypi服务器下载安装文件的,如果愿意,也可以利用3.1中的方法,指定本地的pypi服务器。然后在目的虚拟环境中执行pip install MyEnv.pybundle即可。
- 4.pip install还有许多有用的选项,如--download-cache=DIR可以指定下载安装文件时缓存至DIR路径,下次需要时则直接读取缓存文件。具体选项可以执行pip help install得到详细信息。
- 5.另外,还可以将自己的包上传至pypi服务器,分享给所有人。具体可参考http://guide.python-distribute.org/creation.html和http://matrix.42qu.com/10734668。
easy_install简介:
easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,所以使用easy_install实际上是在调用setuptools来完成安装模块的工作。 Perl 用户比较熟悉 CPAN,而 Ruby 用户则比较熟悉 Gems;引导 setuptools 的ez_setup工具和随之而生的扩展后的easy_install 与 “Cheeseshop”(Python Package Index,也称为 “PyPI”)一起工作来实现相同的功能。它可以很方便的让您自动下载,编译,安装和管理Python包。
第三种 用Setuptools和virtualenv安装
Setuptools简介:
setuptools是 Python Enterprise Application Kit(PEAK)的一个副项目,它 是一组Python的distutilsde工具的增强工具(适用于 Python 2.3.5 以上的版本,64 位平台则适用于 Python 2.4 以上的版本),可以让程序员更方便的创建和发布 Python 包,特别是那些对其它包具有依赖性的状况。
经常接触Python的同学可能会注意到,当需要安装第三方python包时,可能会用到easy_install命令。easy_install是由PEAK(Python Enterprise Application Kit)开发的setuptools包里带的一个命令,所以使用easy_install实际上是在调用setuptools来完成安装模块的工作。
Setuptools安装:
A. 使用ez_setup.py安装
这是 setuptools 自豪的一种安装方式,只需要一个大约 8K 作为的脚本ez_setup.py,就能自动为用户安装包括 setuptools 自身在内的许多 Python 包。
(参考:http://bkeep.blog.163.com/blog/static/12341429020123395532879/)
使用这种方式,用户只需要下载 ez_setup.py 并运行,就可以自动下载和安装适合用户当前 Python 版本的适当的 setuptools egg 文件(当然,用户需要 Python 2.3.5 以上的版本,64 位操作系统的用户则需要 Python 2.4 以上的版本)。此外,这段脚本还会将可执行的easy_install 脚本安装到用户所有的操作系统 Python 可执行脚本正常应该安装的位置(例如,Windows 用户会安装到 Python 安装目录下的 Scripts 目录中)。关于这种安装方法的更详细说明和注意事项,请参考其官方说明(见扩展阅读)。简单的安装命令如下:
wget -q ez_setup.py下载地址(见扩展阅读) 安装完后,最好确保
B. 使用完整的安装包安装
当然,用户也可以使用 setuptools 在 Python Cheese Shop 上发布的合适的完整的发布版本来安装。对于使用 Windows 的用户,这也是挺方便的方法。
下载完成后双击执行安装文件
,即可在D:\Program Files\python2.7\scripts下安装easy_install。包含一个easy_install.exe,然后进行环境变量设置,在系统环境变量中做如下设置:
(也就是将D:\Program Files\python2.7\scripts添加到环境变量中)
许多 Linux 发行版的官方包管理仓库都包含 setuptools 的某个版本。例如,如果你跟我一样使用Ubuntu ,那安装 setuptools 只是简单的进行如下操作:
# apt-get install python-setuptools
Setuptools安装好后就可以用easy_install安装模块了
easy_install 使用方法:
使用方法非常简单,在命令行输入“easy_install 参数”即可。
a、通过模块名称来安装。setuptools会自动搜索PyPI 以查找最新版本的模块。如果找到的话,她会自动下载、编译和安装:例如
easy_install SQLObject
easy_install "python_dateutil==1.5"
easy_install "python_dateutil>=1.5"
说明,安装过程可能需要权限,如果是ubuntu的话,可以加上sudo
b、指定查找页面("download page")来使用名称和版本信息来安装或升级一个模块:
easy_install -f (此处添加一个url,百科不让加) SQLObject
c、从指定模块下载地址来下载模块源码并在下载成功之后编译安装
easy_install (此处添加一个模块下载url,百科不让加,可参考扩展阅读)
d、在本地已经存在的egg文件基础上来安装模块
easy_install /my_downloads/OtherPackage-3.2.1-py2.3.egg
e、升级一个已经安装的模块到最新版本,如果在PyPI中这个模块有最新版本。
easy_install --upgrade PyProtocols
f、从源码中安装模块(源码已经下载并解压到当前文件夹下)(New in 0.5a9)
easy_install .
g、模块卸载 easy_install -m package-name (比如easy_install -m pylab)
如果想删除通过easy_install安装的软件包,比如说:MySQL-python,可以执行命令:
easy_install -m MySQL-python
注:此操作会从easy-install.pth文件里把MySQL-python的相关信息抹去,剩下的egg文件,你可以手动删除。
用easy_install安装networkx:
如果用方法a安装,显示download error,可转用其它方法,如d。
安装完毕,进行测试。
打开python-command line,进行如图输入“import networkx as nx” "print nx",就有相关显示,如果没有成功,会提示不认识networkx类库的
开发环境为eclipse的用户,安装一个新的python开发包后,import后不能使用包内的方法。
解决方法:
需要在Preferences-pyDev-Interpreter里重新配置Python的编译器,因为当前没有包含新加进来的包
可以删除掉,重新加上。
否则会导致import模块后,模块内的方法仍然不能调用。
参考资料:http://www.cnblogs.com/zhuyp1015/archive/2012/07/17/2596495.html
http://blog.csdn.net/moodytong/article/details/7282008
http://blog.163.com/yang_jianli/blog/static/161990006201151022355502/
http://www.cnblogs.com/kkgreen/archive/2012/08/03/2622251.html
如果说强大的标准库奠定了python发展的基石,丰富的第三方库则是python不断发展的保证,随着python的发展一些稳定的第三库被加入到了标准库里面,这里有6000多个第三方库的介绍:点这里或者访问:http://pypi.python.org/pypi?:action=index。下表中加粗并且标红的都是我平时使用较多的一些第三方库。(P.S.CSDN的这个表格功能太难用了,改HTML代码调整了好半天啊,才见得人!)
常用Python第三方库 |
||
分类 | 库名称 | 库用途 |
Web框架 | Django | 开源web开发框架,它鼓励快速开发,并遵循MVC设计,我以前用过很多次,比较好用,开发周期短 |
ActiveGrid | 企业级的Web2.0解决方案 | |
Karrigell \bottle\bootstrap\ Flask |
简单的Web框架,自身包含了Web服务,py脚本引擎和纯python的数据 库PyDBLite |
|
webpy | 一个小巧灵活的Web框架,虽然简单但是功能强大 | |
CherryPy | 基于Python的Web应用程序开发框架 | |
Pylons | 基于Python的一个极其高效和可靠的Web开发框架 | |
Zope | 开源的Web应用服务器 | |
TurboGears | 基于Python的MVC风格的Web应用程序框架 | |
Twisted | 流行的网络编程库,大型Web框架 | |
Quixote | Web开发框架 | |
科学计算 | Matplotlib | 用Python实现的类matlab的第三方库,用以绘制一些高质量的数学二维图形 |
SciPy | 基于Python的matlab实现,旨在实现matlab的所有功能 | |
NumPy | 基于Python的科学计算第三方库,提供了矩阵,线性代数,傅立叶变换等等的解决方案 | |
GUI | PyGtk | 基于Python的GUI程序开发GTK 库 |
PyQt | 用于Python的QT开发库 | |
WxPython | Python下的GUI编程框架,与MFC的架构相似 | |
Tkinter | Python下标准的界面编程包,因此不算是第三方库了o(∩_∩)o | |
其它 | BeautifulSoup | 基于Python的HTML/XML解析器,简单易用 |
PIL | 基于Python的图像处理库,功能强大,对图形文件的格式支持广泛 | |
MySQLdb | 用于连接MySQL数据库 | |
cElementTree | 高性能XML解析库,Py2.5应该已经包含了该模块,因此不算一个第三方库了 | |
PyGame | 基于Python的多媒体开发和游戏软件开发模块 | |
Py2exe | 将python脚本转换为windows上可以独立运行的可执行程序 | |
pefile | Windows PE文件解析器 |