• python-模块安装方法


    python程序会使用很多模块,通常安装模块的方法是找到官方网站,选择合适的版本下载安装,很麻烦。为了简化安装第三方的模块,python提供了easy_install工具,只需要一条命令就可以安装合适的模块,easy_install是python-setuptools包里的一个命令,所以只要安装python-setuptools就可以了。

    ubuntu:
    sudo apt install python-setuptools

    centos:
    sudo  yum install python-setuptools

    由于正在学习,就不可避免的学到python中怎样安装模块,比如用easy_install安装就很方便,但是该命令只管安装和删除,却不管列出当前已经安装哪些模块,让用惯pkg_info 的我很不适宜。于是到处寻找答案,终于找到解决方案,就是在python环境中输入:

    help(‘modules’) 就能列出所有已经安装的模块了。

    我确认了一下,嗯,安装的bottle、web、plone、pyramid、pylons、django等都在,看来真的管用。

    pip是一个可以替代 easy_install 的安装和管理 python 软件包的工具,提供更好的提示信息,可以删除包。linux自带的python版本比较低,软件源里没有python-pip包,不过我们可以先安装easy-install,在用easy_install安装pip

    sudo easy_install pip安装的模块会在下面的路径下生成相应的目录

    fgy@fgy-QTH6:/tmp$ ll /usr/local/lib/python2.7/dist-packages/
    total 24
    drwxrwsr-x 5 root staff 4096 8月   7 20:45 ./
    drwxrwsr-x 4 root staff 4096 7月  20 04:48 ../
    drwxr-sr-x 4 root staff 4096 8月   7 18:40 Django-1.10-py2.7.egg/
    -rw-r--r-- 1 root staff  265 8月   7 20:45 easy-install.pth
    drwxr-sr-x 4 root staff 4096 8月   7 18:37 image-1.5.3-py2.7.egg/
    drwxr-sr-x 4 root staff 4096 8月   7 20:45 pip-8.1.2-py2.7.egg/


    fgy@fgy-QTH6:/usr/local/lib/python2.7/dist-packages$ cd pip-8.1.2-py2.7.egg/
    fgy@fgy-QTH6:/usr/local/lib/python2.7/dist-packages/pip-8.1.2-py2.7.egg$ ls
    EGG-INFO  pip
    fgy@fgy-QTH6:/usr/local/lib/python2.7/dist-packages/pip-8.1.2-py2.7.egg$ cd pip/
    fgy@fgy-QTH6:/usr/local/lib/python2.7/dist-packages/pip-8.1.2-py2.7.egg/pip$ ls
    basecommand.py   cmdoptions.py   download.py     index.py      locations.py   models          req               vcs
    basecommand.pyc  cmdoptions.pyc  download.pyc    index.pyc     locations.pyc  operations      status_codes.py   _vendor
    baseparser.py    commands        exceptions.py   __init__.py   __main__.py    pep425tags.py   status_codes.pyc  wheel.py
    baseparser.pyc   compat          exceptions.pyc  __init__.pyc  __main__.pyc   pep425tags.pyc  utils             wheel.pyc

    https://pythonhosted.org/setuptools/easy_install.html

    1、安装python程序包

    easy_install可以通过文件名称、资源的URL、.egg文件(python egg文件)来下载安装文件

    1.1通过名字安装,在PyPi中搜索最近的版本,自动下载,编译和安装。

    >>easy_install       SQLObject

    通过下载页面获取包的名字、版本信息,以及获取链接来安装和更新。

    >>easy_install     -f    http://pythonpaste.org/package_index.html SQLObject   

    通过一个详细的URL自动下载和安装

    >>easy_install     http://example.com/path/to/MyPackage-1.2.3.tgz

    安装已经下载的.egg文件

    >>easy_install    /my_downloads/OtherPackage-3.2.1-py2.3.egg

    根据PyPI的列表更新一个已经安装的软件包

    >>easy_instal    l --upgrade    PyProtocols

    安装一个已经下载的在当前目录的软件包

    >>easy_install    .  (注意参数是个点)

    2.软件包更新

    2.1更新到制定版本

    >>easy_install    "SomePackage==2.0"

    2.2更新到大于一个值的版本

    >>easy_install   "SomePackage>2.0"

    2.3根据PyPI的列表更新一个已经安装的软件包

    >>easy_install   --upgrade     SomePackage


    3、卸载安装的包

    如果你想安装一个其他版本的包,你只需要删除这个版本PackageName-versioninfo.egg文件或者文件夹(包安装的文件夹)

    如果你想删除现在安装的包,或者这个包的所有版本,可以运行一下命令:

    >>easy_install -m PackageName

    这样删除后,python不会继续搜索这个包,你执行这个命令后,可以安全的删除.egg文件夹。


    结束语:easy_install功能还有很多,如修改搜索的网站,查看和编辑源码包,以后用到再更新。

    经常接触Python的同学可能会注意到,当需要安装第三方python包时,可能会用到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包。
    
    Python模块安装
    1. 单文件模块
    直接把文件拷贝到$python_dir/lib
    
    2. 多文件模块,带setup.py
    python setup.py install
    
    3. egg文件
    1) 下载ez_setup.py,运行python ez_setup
    2) easy_install *.egg
    虽然Python的模块可以拷贝安装,但是一般情况下推荐制作一个安装包,即写一个setup.py文件来安装。
    setup.py文件的使用:
    
    % python setup.py build #编译 
    % python setup.py install    #安装 
    % python setup.py sdist     #制作分发包 
    % python setup.py bdist_wininst #制作windows下的分发包 
    % python setup.py bdist_rpm 
    
    setup.py文件的编写 
    setup.py中主要执行一个 setup函数,该函数中大部分是描述性东西,最主要的是packages参数,列出所有的package,可以用自带的find_packages来动态获取package。所以setup.py文件的编写实际是很简单的。
    简单的例子: 
    setup.py文件
    
     from setuptools import setup, find_packages
     setup(
            name = " mytest " ,
            version = " 0.10 " ,
            description = " My test module " ,
            author = " Robin Hood " ,
            url = " http://www.csdn.net " ,
            license = " LGPL " ,
            packages = find_packages(),
            scripts = [ " scripts/test.py " ],
            )
    
    mytest.py
    
    import sys
     def get():
          return sys.path 
    
    scripts/test.py
    
    import os 
     print os.environ.keys()  
    
    setup中的scripts表示将该文件放到 Python的Scripts目录下,可以直接用。 
    OK,简单的安装成功,可以运行所列举的命令生成安装包,或者安装该python包。
    
    本机测试成功(win32-python25)!
    ==============================================================
    setuptools它可以自动的安装模块,只需要你提供给它一个模块名字就可以,并且自动帮你解决模块的依赖问题。一般情况下用setuptools给安装的模块会自动放到一个后缀是.egg的目录里。
    
    首先,安装setuptools这个东西,先去下载一个脚本: http://peak.telecommunity.com/dist/ez_setup.py 下载完后直接执行它就会帮你把setuptools给装好。
    之后,安装模块的使用方法就是使用一个叫easy_install的命令,在Windows里,这个命令在python安装目录下的scripts里面,所以需要把scripts加到环境变量的PATH里,这样用起来就更方便,linux下不需要注意这个问题。
    安装软件只需要执行:easy_install 模块名
  • 相关阅读:
    android studio debug
    SharePoint 2013 单一页面赋设计权限
    sed实现文件自我复制
    iOS第三方支付集成
    移动端报表JS开发演示样例
    马化腾内部分享:产品经理的必修课
    实战c++中的string系列--string与char*、const char *的转换(data() or c_str())
    【React全家桶入门之十】登录与身份认证
    猜拳游戏案例
    Java JDBC利用反射技术将查询结果封装为对象
  • 原文地址:https://www.cnblogs.com/createyuan/p/5746863.html
Copyright © 2020-2023  润新知