zoukankan      html  css  js  c++  java
  • python安装模块与包

    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

    可以看到,确实自动下载软件包并安装,类型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

  • 相关阅读:
    eclipse中jdk源码调试步骤
    [POJ2777] Count Color
    [HNOI2004] L语言
    [USACO08DEC] 秘密消息Secret Message
    The XOR Largest Pair [Trie]
    前缀统计 [Trie]
    于是他错误的点名开始了 [Trie]
    Palindrome [Manecher]
    兔子与兔子 [Hash]
    [CF985F] Isomorphic Strings
  • 原文地址:https://www.cnblogs.com/youxin/p/3061794.html
Copyright © 2011-2022 走看看