设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 19795|回复: 1
打印 上一主题 下一主题

python模块的常用安装方式

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2013-9-24 16:17:09 |显示全部楼层 |倒序浏览
之前我们讲过一些python的模块,如chardet、pygame,这些模块不包含在python的默认代码中,需要从外部下载并安装。有些模块提供了自动安装的文件,比如pygame的windows版本,直接双击安装就可以。但大多数模块没有提供这样的安装方式,有些同学没能成功安装而导致无法在程序中引入模块。在这里,介绍一下python模块几种常见的安装方法。

1. 直接copy

下载的模块文件中已经有了模块的文件,有些模块只有一个文件,比如较早版本的BeautifulSoup,有些是一个文件夹,比如新版本BeautifulSoup就是一个叫做bs4的文件夹。

把这些文件直接copy到你的python路径下的/Lib/site-packages文件夹中,比如C:/Python27/Lib/site-packages。之后就可以在程序里直接引用了:
import BeautifulSoup
或者
from bs4 import BeautifulSoup

这是根据你放置的文件位置不同而决定的。

网上有人说直接放在Lib文件夹中就可以了。的确这样也行,但Lib文件夹中都是自带的模块,看一下就会发现我们用过的random、re等模块的代码文件。而外部模块一般放在site-packages文件夹中。

2. setup.py

很多模块里都附带了setup.py文件,有同学直接双击了,然后发现没有用。

它的使用方法是从命令行去到setup.py所在的路径下,运行
python setup.py install

仔细看一下安装时输出的信息可以发现,这个命令做的事情其实也就是帮你把模块的代码copy到site-packages文件夹。

3. setuptools

使用setuptools可以直接根据模块名称来自动下载安装,不需要自己再去寻找模块的安装文件。不过在使用之前,你得先安装setuptools自身。

windows平台的32位python,可以直接下载setuptools的exe文件安装。(去搜索setuptools windows可以找到,我也上传了一份在论坛本帖后面)

Linux用户可以从包管理器中安装,比如ubuntu:
apt-get install python-setuptools

windows平台64位python得用ez_setup.py进行安装(文件我也上传了)。这种方式也适用于所有平台。

在ez_setup.py所在文件夹下运行:
python ez_setup.py

setuptools会被安装在python路径\Scripts下。之后,你可以把这个路径添加到环境变量path中,也可以直接从命令行进入到Scripts文件夹下,执行easy_install,看看是否安装成功了。

之后,你就可以直接用它来安装你想要的模块,比如PIL:
easy_install PIL

程序就会帮你自动下载安装到site-packages里。


最后,介绍几个不错的模块,供大家参考使用。
PIL - 图形处理
PyXML - 解析和处理XML文件
MySQLdb - 连接MySQL数据库
Tkinter - 图形界面接口,python自带
smtplib - 发送电子邮件
ftplib - ftp编程
PyMedia - 多媒体操作
PyOpenGL - OpenGL接口
BeautifulSoup - HTML/XML的解析器



#==== Crossin的编程教室 ====#
微信ID:crossincode
论坛:http://crossin.me
QQ群:156630350

面向零基础初学者的编程课
每天5分钟,轻松学编程


ez_setup.py

15.39 KB, 下载次数: 33

ez_setup.py

setuptools-0.6c11.win32-py2.7.exe

222.61 KB, 下载次数: 29

setuptools

#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2013-9-24 19:29:59 |显示全部楼层
补充个第4种:pip
具体方法不说了(其实是我懒得写了,用得不多,还要去找资料太麻烦),想用的自己去尝试,也算是锻炼一下利用搜索自我学习的能力

感谢微信网友@蚂蚁 的补充
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-6-2 23:54 , Processed in 0.018630 second(s), 29 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部