设为首页 收藏本站
查看: 1100|回复: 0

[经验分享] python安装模块与包

[复制链接]

尚未签到

发表于 2015-4-26 09:11:07 | 显示全部楼层 |阅读模式
  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.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
  
DSC0000.jpg

可以看到,确实自动下载软件包并安装,类型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等区别:
   DSC0001.png
  可以看到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
  通过使用==, >=, ,

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-60753-1-1.html 上篇帖子: python string 运算 下篇帖子: python开发_webbrowser_浏览器控制模块
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表