python第三方库安装技巧

本文源地址 http://www.jianshu.com/p/9acc85d0ff16css

 

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

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

源码安装

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

python setup.py install

 

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

包管理器 (pip 和 easy_install)

如今不少编程语言,都带有包管理器,例如 Ruby 的 gemnodejsnpmPython固然也不例外,拥有大名鼎鼎的 pip和 easy_installgithub

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

pip install flask 

或者npm

easy_install flask

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

pip uninstall flask

  查看所安装的包,包括系统自带的和手动安装的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

  一样也能够安装。

最新版本的pip也支持git安装,只须要使用其git地址就行

pip install git+https://github.com/kennethreitz/requests.git

  不过这种安装方式至关的慢。它的原来就是先clone到本地的临时目录,而后再安装zip包。

虚拟环境相关安装

固然,上面介绍的,其实也是很普通很常见的方式,也算不上什么技巧。下面介绍的,则是一些须要了解原理和解决很是规问题的技巧。

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

windows的用户可能会很开心,不须要注意这个问题。固然 windows 也一样有着本身的问题。在 windows上安装python,通常是编译好的二进制包exe可执行文件。一般有 32位和64位的python。对于第三方库,原本32和64不会有太大的差异。可是对于一些C写的python库,如mysqldbPIL, 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,这两个系统有更好的工具以及省去不少莫名其妙的问题。

相关文章
相关标签/搜索