python导入第三方库

转载 2016年08月29日 21:18:21

原文链接:http://www.jb51.net/article/86020.htm

Python 是一门优雅的语言,简洁的语法,强大的功能。当然丰富的第三方库,更能加速开发。那么问题来了,如何安装这些第三方库(包)呢?

安装第三方库的方式其实不多。下面就介绍一些技巧。

源码安装
很多第三方库都是开源的,几乎都可以在github 或者 pypi上找到源码。找到源码格式大概都是 zip 、 tar.zip、 tar.bz2格式的压缩包。解压这些包,进入解压好的文件夹,通常会看见一个 setup.py 的文件。打开命令行,进入该文件夹。运行

python setup.py install

这个命令,就能把这个第三库安装到系统里,也就是你的 Python 路径,windows大概是在 C:\Python2.7\Lib\site-packages。
Linux会在 /usr/local/lib/python2.7/dist-packages。
Mac 应该在 /Library/Python/2.7/site-packages。如果是在 virtulenv环境下安装,这个包就被安装在所建立的虚拟环境下的 site-packages/目录下。想要卸载这些库也很简单,进入 site-packages,直接删掉库文件就 OK 啦。当然,这些安装可能有一点麻烦,需要下载,解压,再运行安装,卸载也不是很方便。有没有一种工具,可以帮外面管理这些库呢?

包管理器 (pip 和 easy_install)
现在很多编程语言,都带有包管理器,例如 Ruby 的 gem,nodejs的npm。Python当然也不例外,拥有大名鼎鼎的 pip和 easy_install。

前面说到的pypi就是一些 python第三库所在的源,使用 pip 或者 easy_install 安装模块,会搜索这个源,然后自动下载安装。比如我们需要安装 flask 框架具体命令如下:

pip install flask

或者

easy_install flask

简单吧,一个简单的命令就搞定。卸载也很方便,例如我们需要卸载flask

pip uninstall flask

查看所安装的包,包括系统自带的和手动安装的

pip list

还可以搜索包

pip search flask

还可以重定向输出项目使用的库。

pip freeze > requirements.txt

这样就会把该环境下的第三方库重定向到 requirements.txt文件内,如果给别人安装项目的依赖,只需要运行:

pip install -r requirements.txt

很方便吧。当然,有时候,我们的网络并不是那么顺畅,pip是在线安装的,可不可以离线呢?当然可以啦,pip install 的第一步,就是在 pypi 上寻找包,然后下载到本地。如果网络不好,可以先建一个本地的仓库,把常用的包离线下载。比如可以下载 flask 的源码

pip intall flask-master.zip

同样也可以安装。

虚拟环境相关安装
当然,上面介绍的,其实也是很普通很常见的方式,也算不上什么技巧。下面介绍的,则是一些需要了解原理和解决非常规问题的技巧。

使用Python,我们会喜欢用 virtualenv建立虚拟环境,例如建立一个 venv的虚拟环境。我们只需要 source进去就可以使用pip安装了。可是有时候,即使在虚拟环境下,使用了sudo的前缀(windows忽略),那么安装的库不是在虚拟环境,而是被安装到系统下的site-package 目录下了。

windows的用户可能会很开心,不需要注意这个问题。当然 windows 也同样有着自己的问题。在 windows上安装python,一般是编译好的二进制包exe可执行文件。通常有 32位和64位的python。对于第三方库,本来32和64不会有太大的差别。但是对于一些C写的python库,如mysqldb,PIL, pillow,会发现使用 pip或者 easy_install 的方式会报错:

Fixing python error: Unable to find vcvarsall.bat

原因大概是 windows上缺少一些 C编译器东东。源码需要编译一下才能安装,此时 windows就很苦逼了。当然,有一些好心人,帮您把常用的一些库编译成 exe 可执行文件,放到了这个站点。你只需要寻找对于版本的,下载一键安装。

可是,还有一个问题,下载 exe 文件,运行安装,这个库是被安装到了系统的 site-package 目录下,如果我在windows 建立了venv虚拟环境,这样安装不是歇菜了么?

别担心,这个文章的真正技巧,就是为了解决这个问题的。我们来安装64位的 mysqldb。先下载 MySQL‑python‑1.2.5.win‑amd64‑py2.7.exe 在 windows 上,用命令行进入虚拟环境 venv。然后运行

easy_install MySQL‑python‑1.2.5.win‑amd64‑py2.7.exe

完美解决,在 venv 虚拟环境,将mysqldb 库安装到了venv下。

有了上面三个方式,几乎涵盖 python 所有平台的第三方库安装。不过话说回来,尽管 Python 是跨平台,开发环境,还是尽量使用 Linux或者MacOS,这两个系统有更好的工具以及省去很多莫名其妙的问题。

Python--windows下面给Python添加库包的两种方法

一、第一种方法(这种方法比较简单) 用到IDE工具:pycharm(个人觉得挺好用) 要用到的包可以用pycharm下载:  File->Default Settings->Default Pr...
  • M_WBCG
  • M_WBCG
  • 2017年04月21日 15:24
  • 3416

python模块导入及属性:import

http://blog.csdn.net/pipisorry/article/details/43313197 模块和包 1 python程序由包(package)、模块(module)和函数组成。包...
  • pipisorry
  • pipisorry
  • 2015年01月30日 20:39
  • 17314

Python导入模块或是库文件的方法

在IDLE中报错: Traceback (most recent call last):   File "C:\Python27\test_biKmeans.py", line 27, in ...
  • u010159842
  • u010159842
  • 2015年06月23日 21:26
  • 606

个人学习(九) - 导入opencv-python库

前面我们已经搭建好了python的串口通信程序,接下来要做的是搭好opencv-python库的环境,然后通过python调用Opencv函数来进行图像分析。 在python官网就能找到op...
  • github_27587443
  • github_27587443
  • 2017年06月04日 15:33
  • 1259

Python扩展包安装方法以及Python添加库(模块)

Python扩展包安装方法(待更新)
  • zpcandzhj
  • zpcandzhj
  • 2015年08月27日 14:14
  • 9108

Python第三方包的导入

我们知道,定义在环境变量PYTHONPATH里是可以直接用import导入的。下面我们来操作如何从非pythonpath目录导入第三方包或者自己定义的包。 假定我们的包有如下的目录结构:person...
  • lsp1991
  • lsp1991
  • 2014年07月31日 14:15
  • 2135

如何在python环境下导入gdcm库

GDCM:   Grassroots DICOM library  一个开源DICOM库  http://sourceforge.net/apps/mediawiki/gdcm/index.php?...
  • omage
  • omage
  • 2012年05月26日 20:44
  • 2549

python 动态导入库 __import__()

Python 支持__import__() 方法来动态的导入module。其方法描述是: __import__( name, globals, locals, fromlist) 静态的方式导入d...
  • Paul_ss
  • Paul_ss
  • 2012年02月22日 21:30
  • 1492

python安装第三方的包

第一种基本安装方法 1 下载第三方包,解压 2 在命令提示符里输入cmd,然后用cd进入到第三方包的路径下 3 输入python setup.py build 4 输入pyth...
  • xyqzki
  • xyqzki
  • 2014年08月07日 10:35
  • 77317

python开发导入第三方依赖包

python开发导入第三方依赖包:分别以Pycharm 和 Mac OS为例来说明导入包的方法;MAC OS下 python 配置开发环境 安装mysql-connector-python...
  • dalaoadalaoa
  • dalaoadalaoa
  • 2017年04月17日 11:21
  • 1147
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python导入第三方库
举报原因:
原因补充:

(最多只允许输入30个字)