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 环境中,则该软件包安装在站点中-
包/目录。卸载这些库也很简单。转到站点包并直接删除库文件。当然,这些安装可能有点麻烦,需要
下载,解压,然后运行安装不是很方便。有没有工具可以帮助管理外部这些库?
包管理器 (pip 和 easy_install)
现在很多编程语言都自带包管理器,比如 Ruby 的 gems 和 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
同样也可以安装。
最新版pip也支持git安装,使用它的git地址即可
pip install git+https://github.com/kennethreitz/requests.git
但是,这种安装方法很慢。它原来是先克隆到本地临时目录,然后安装zip包。
虚拟环境相关安装
当然,上面说的这些方法其实很常见很普通,并不是真正的技术。下面介绍一些理解原理和解决非常规问题的技巧。
在 Python 中,我们想使用 virtualenv 来创建虚拟环境,比如创建一个 venv 的虚拟环境。我们只需要获取它并使用 pip 安装它。
但有时,即使在虚拟环境中,使用 sudo 前缀(被 windows 忽略),安装的库不在虚拟环境中,而是安装在站点中——
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,这两个系统都有更好的工具,省去了很多莫名其妙的问题。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何检查你的计算机上是否安装了python08/27
- ♥ 如何使用python发送邮件12/01
- ♥ 如何在python中删除空格和换行符09/16
- ♥ 如何获取python字符10/29
- ♥ Python – 如何将 int 转换为 String09/17
- ♥ python脚本和网页有什么区别12/20
内容反馈