zoukankan      html  css  js  c++  java
  • 优雅的使用Python之软件管理

    上篇《优雅的使用python之环境管理http://dwz.cn/wTsOr,如何管理python环境,有了一个干净的python环境之后,就不可避免的安装python软件包(python软件包丰富也是它的优点之一,不用重复造轮子)。本篇介绍如何优雅的管理Python软件包。

    常用软件包管理工具

    一般python软件包管理工具,主要有以下:

    clip_image001

    常用python包管理工具

    可以看到distributesetuptools的替代方案(因为Setuptools包不再维护了),pipeasy_install的替代方案。本篇重点介绍pip,其它感兴趣的自行了解。

    pip最流行的软件包管理工具

    pip的核心开发人员之一的 Donald Stufft,去年写了一篇博客详细描述了PyPI CDN供应商4天的流量。其中一个纬度展示,使用软件包管理工具从PyPI安装软件包的用户中,大约75%的用户使用pip。该工具已被证明非常有用和流行,201310pip将被从3.4版本起,随python内置发布

    clip_image002

    图:PyPI安装工具使用统计图(https://caremad.io/2013/10/a-look-at-pypi-downloads/

    PyPI首页推荐的软件包安装方法:

    clip_image003

    安装

    方法一:

    l  下载get-pip.py文件,https://bootstrap.pypa.io/get-pip.py

    l  python get-pip.py

    D:Python33>python get-pip.py

    Downloading/unpacking pip

    Downloading/unpacking setuptools

    Installing collected packages: pip, setuptools

    Successfully installed pip setuptools

    Cleaning up...

    方式二:源码方式安装

    l  下载源码包:https://pypi.python.org/packages/source/p/pip/

    l  解压

    l  cd 到对应目录

    l  python setup.py install

     

    使用

    l  PyPI安装软件包:

    $ pip install SomePackage
      [...]
      Successfully installed SomePackage

    l  查看软件包安装了哪些文件及路径等信息:

    $ pip show --files SomePackage
      Name: SomePackage
      Version: 1.0
      Location: /my/env/lib/pythonx.x/site-packages
      Files:
       ../somepackage/__init__.py
       [...]

    l  查看哪些软件包已经有更新版本了:

    $ pip list --outdated
      SomePackage (Current: 1.0 Latest: 2.0)

    l  升级软件包:

    $ pip install --upgrade SomePackage
      [...]
      Found existing installation: SomePackage 1.0
      Uninstalling SomePackage:
        Successfully uninstalled SomePackage
      Running setup.py install for SomePackage
      Successfully installed SomePackage

    l  卸载软件包:

    $ pip uninstall SomePackage
      Uninstalling SomePackage:
        /my/env/lib/pythonx.x/site-packages/somepackage
      Proceed (y/n)? y
      Successfully uninstalled SomePackage

    pip高级用法

    前面小节介绍pip的基本功能使用,已经满足了绝大部分需求。下面介绍pip的一些高级用法:

    l  查询软件包

    $ pip search "query"

    l  列出安装的所有软件包

    $ pip list

    l  安装软件包的指定版本号

    通过使用==, >=, <=, >, <来指定一个版本号

    $ pip install SomePackage            # latest version
    $ pip install SomePackage==1.0.4     # specific version
    $ pip install 'SomePackage>=1.0.4'     # minimum version

     

    l  根据依赖文件安装软件包

    想象一个场景,使用《优雅的使用python之环境管理》创建了一个感觉的虚拟环境,然后安装了一些依赖的软件包,开发出了应用APP。这个时候,你需要部署到服务器?

    这个时候可以使用pip导出依赖文件列表,然后在服务器上根据依赖文件列表,自动安装对应的软件包。是不是很方便!

    pip freeze > requirements.txt

    pip install -r requirements.txt

     

     

    相关连接:

    https://pip.pypa.io/en/latest/installing.html

    https://pip.pypa.io/en/latest/quickstart.html

     

  • 相关阅读:
    mysql允许远程访问
    ubuntu pip install MySQL-python mysql_config not found
    ubuntu 阿里云源
    V
    KMP算法之next函数解释(大量的反证法 和数学归纳法来袭)
    日常ACM题目
    F
    J
    中缀表达式求值 ,中缀表达转化为后缀表达式求值,
    数据结构
  • 原文地址:https://www.cnblogs.com/skynet/p/4135477.html
Copyright © 2011-2022 走看看