Python安装第三方库及常见问题处理方法汇总


Posted in Python onSeptember 13, 2016

源码安装

Python第三方库几乎都可以在github或者 pypi上找到源码。源码包格式大概有zip 、 tar.zip、 tar.bz2。解压这些包,进入解压好的文件夹,通常会有一个setup.py的文件。打开命令行,进入该文件夹。运行以下命令,就能把这个第三库安装到系统里:

python setup.py install

或者借助pip,则不需要解压:pip install package.zip

包管理器安装

现在很多编程语言,都带有包管理器,例如 Ruby 的 gem,nodejs的npm。

在Python中,安装第三方模块,是通过setuptools这个工具完成的。Python有两个封装了setuptools的包管理工具:easy_install和pip。目前官方推荐使用pip。

用easy_install和pip来安装第三方库很方便 它们的原理其实就是从Python的官方源pypi.python.org/pypi 下载到本地,然后解包安装。

基本操作命令如下:

# 安装package
pip install packagename
 
# 卸载package
pip uninstall packagename
 
# 查看所安装的package
pip list
 
# 将项目依赖的库重定向输出到文件,cd到项目根目录
pip projectname > requirements.txt
 
# 他人安装项目的依赖库
pip install -r requirements.txt
# pip常用命令可通过在命令行输入pip -h查看
# pip command -h可查看该命令的使用方法
 
Commands:
 install           Install packages.
 download          Download packages.
 uninstall          Uninstall packages.
 freeze           Output installed packages in requirements format.
 list            List installed packages.
 show            Show information about installed packages.
 search           Search PyPI for packages.
 wheel            Build wheels from your requirements.
 hash            Compute hashes of package archives.
 completion         A helper command used for command completion
 help            Show help for commands.

常见问题

官方的pypi不稳定,很慢甚至访问不了

解决方法1:

采用源码安装方式,在github或其他库下载,用python setup.py install方式安装,详见上文【源码安装】

解决方法2:

手动指定源,在pip后面跟-i,命令如下:

pip install packagename -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

pipy国内镜像目前有:

豆瓣 http://pypi.douban.com/simple/
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
华中理工大学 http://pypi.hustunique.com/
山东理工大学 http://pypi.sdutlinux.org/

某些包在这个电脑能安装,在另一电脑有安装不了了

参看setuptools、pip版本是否一致,升级到最新版本

pip install setuptools -U 
pip install pip -U

安装某些包时出现错误”error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat).”

原因大概是 windows上缺少一些C编译器。

解决方法1: 安装VC或VS,该方法有时奏效,有时不奏效。

解决方法2: 更简单的解决方法:下载whl格式的package,再用pip安装。 以numpy包为例:

whl格式的下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/

# 输入whl文件所在的完整路径
pip install D:\python\numpy-1.9.2+mkl-cp33-none-win_amd64.whl
Python 相关文章推荐
分享15个最受欢迎的Python开源框架
Jul 13 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
Nov 11 Python
Python实现学校管理系统
Jan 11 Python
python调用OpenCV实现人脸识别功能
May 25 Python
Python3中bytes类型转换为str类型
Sep 27 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
Jul 25 Python
pygame实现烟雨蒙蒙下彩虹雨
Nov 11 Python
使用Python来做一个屏幕录制工具的操作代码
Jan 18 Python
python 实现字符串下标的输出功能
Feb 13 Python
python try...finally...的实现方法
Nov 25 Python
Python一些基本的图像操作和处理总结
Jun 23 Python
使用Python拟合函数曲线
Apr 14 Python
Python中操作mysql的pymysql模块详解
Sep 13 #Python
python常用函数详解
Sep 13 #Python
python如何查看系统网络流量的信息
Sep 12 #Python
Python爬取三国演义的实现方法
Sep 12 #Python
python 读写、创建 文件的方法(必看)
Sep 12 #Python
Python读写Json涉及到中文的处理方法
Sep 12 #Python
详细介绍Python的鸭子类型
Sep 12 #Python
You might like
PHP 文件上传进度条的两种实现方法的代码
2007/11/25 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
2017/11/08 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
javascript中关于break,continue的特殊用法与介绍
2012/05/24 Javascript
Javascript基础 函数“重载” 详细介绍
2013/10/25 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
使用jquery动态加载js文件的方法
2014/12/24 Javascript
jquery结合CSS使用validate实现漂亮的验证
2015/01/29 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
2015/10/19 Javascript
jQuery弹簧插件编写基础之“又见弹窗”
2015/12/11 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
2016/06/14 Javascript
JavaScript构建自己的对象示例
2016/11/29 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
2017/08/25 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
重学JS 系列:聊聊继承(推荐)
2019/04/11 Javascript
vue选项卡切换登录方式小案例
2019/09/27 Javascript
node.js事件轮询机制原理知识点
2019/12/22 Javascript
vue实现购物车案例
2020/05/30 Javascript
js实现拖拽与碰撞检测
2020/09/18 Javascript
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
2019/04/26 HTML / CSS
美国最大的城市服装和运动鞋零售商:Jimmy Jazz
2016/11/19 全球购物
Origins加拿大官网:雅诗兰黛集团高端植物护肤品牌
2017/11/19 全球购物
二年级学生评语大全
2014/04/23 职场文书
校园安全标语
2014/06/07 职场文书
redis实现共同好友的思路详解
2021/05/26 Redis
总结一些Java常用的加密算法
2021/06/11 Java/Android