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 模块名

python-模块安装方法的更多相关文章

  1. Python模块安装方法

    安装Python模块 电子邮件 distutils-sig @ python .组织 作为一个受欢迎的开源开发项目,Python具有活跃的贡献者和用户支持社区,并且根据开放源代码许可条款,其软件可供其 ...

  2. ipython和pip,模块安装方法

    先下载 pip-.tar.gz 解压文件 cmd进入这个加压后的文件 执行 python setup.py install 然后配置环境变量 把 python 下的 Scripts 文件目录添加到 P ...

  3. python 库安装方法及常用库

    python 库安装方法及常用库 python库安装方法: 方法一:setpu.py 1.下载库压缩包,解压,记录下路径:*:/**/……/ 2.运行cmd,切换到*:/**/……/目录下 3.运行s ...

  4. c#项目调用Python模块的方法

    将Python模块用pyinstaller打包成exe程序 下载安装UPX((http://upx.sourceforge.net/)) ,并把路径加到环境变量中. UPX是开源的加壳和压缩exe的程 ...

  5. nginx第三方模块安装方法

    nginx第三方模块安装方法 ./configure --prefix=/你的安装目录 --add-module=/第三方模块目录 比如echo模块. 没安装前,使用测试. location /tes ...

  6. 详解Python模块导入方法

    python常被昵称为胶水语言,它能很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松联结在一起.python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的 ...

  7. python Tesseract安装方法

    python Tesseract安装方法 EXE可执行文件地址:http://download.csdn.net/download/whatday/7740469:下载tesseract-ocr-se ...

  8. Python下载、环境变量配置、 模块安装方法

    下载 Windows版官网下载地址:https://www.python.org/downloads/windows/ 类似下图以 installer结尾的文件就是我们需要下载的,位数根据自己的电脑进 ...

  9. python基础-7模块,第三方模块安装方法,使用方法。sys.path os sys time datetime hashlib pickle json requests xml

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  10. 初学python常用,python模块安装和卸载的几种方法

    兄弟们常常因为遇到模块不会安装,或者遇到报错就懵了,就很耽误学习进度,今天我们就一次性了解Python几种安装模块的方法~不过~ 实在是懒得看 点击此处找管理员小姐姐手把手教你安装 一.命令提示符窗口 ...

随机推荐

  1. QM UML状态机建模实例之Blinky for cortex-m0

    简介:QP由Quantum Leaps公司开发异于传统顺序式系统(前后台架构即main+ISR)和传统多任务系统(操作系统)的事件驱动型状态机框架,实现了在C语言下的面向对象编程,该框架支持有限状态机 ...

  2. js相关参考资料

    [图片等比例适配:]http://www.cnblogs.com/zengxiangzhan/archive/2009/09/12/1565323.html

  3. 用docker toolBox 搭建 nginx + flask + redis 环境

    本篇博客,主要是了解一下docker-compose的使用,docker-compose是官方给出的同时部署多个容器的解决方案:当你需要多个容器同时运行作为你的解决方案时:比如构建一个网站,需要php ...

  4. 使用TypeScript开发

    学习过一段时间CoffeeScript,然后再学习TypeScript,最后还是决定使用TypeScript开发. CofeeScript主要是给js添加一些语法糖,编写代码要快捷的多,少量的代码开发 ...

  5. 转载--提高C++性能的编程技术

    读书笔记:提高C++性能的编程技术   第1章 跟踪范例 1.1 关注点 本章引入的实际问题为:定义一个简单的Trace类,将当前函数名输出到日志文件中.Trace对象会带来一定的开销,因此在默认情况 ...

  6. 克隆虚拟机重启服务时 Error:No suitable device found: no device found for connection "System eth0"

    故障说明: 在克隆几台虚拟机,发现启动后不能配置IP地址等信息,使用linux命令: “ifup eth0”也不能激活网卡, 而在使用"service network restart&quo ...

  7. api将一统江湖,再无app

    api的出现,使人们可以通过各种软硬件设备获取所需服务,而不需要安装臃肿的app:今后的智能设备将不再依赖软件.操作系统和硬件,或许一台51单片机都可以提供给用户所需信息.当然连名字都可以简单到不叫a ...

  8. HDU5950(矩阵快速幂)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5950 题意:f(n) = f(n-1) + 2*f(n-2) + n^4,f(1) = a , f(2 ...

  9. iredmail安装脚本分析(二)---get_all.sh 文件所在目录为PKGS

    经过上面的一系列分析后,进入到获取安装包的步骤,作者在此处单独写了一个脚本,get_all.sh,我们继续分析这个脚本 _ROOTDIR="$(pwd)" CONF_DIR=&qu ...

  10. web前后端框架整理

    nodejs <——> Express <———> bootstrap <———> angularJS <————> jquery <—————& ...