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 相关文章推荐
用Python给文本创立向量空间模型的教程
Apr 23 Python
Python实现列表删除重复元素的三种常用方法分析
Nov 24 Python
Python实现感知器模型、两层神经网络
Dec 19 Python
详解Django中间件执行顺序
Jul 16 Python
PyCharm+PySpark远程调试的环境配置的方法
Nov 29 Python
python做反被爬保护的方法
Jul 01 Python
Python的垃圾回收机制详解
Aug 28 Python
django restframework serializer 增加自定义字段操作
Jul 15 Python
Python中猜拳游戏与猜筛子游戏的实现方法
Sep 04 Python
详解Open Folder as PyCharm Project怎么添加的方法
Dec 29 Python
20行代码教你用python给证件照换底色的方法示例
Feb 05 Python
关于Python中进度条的六个实用技巧分享
Apr 05 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 获取文件路径(灵活应用__FILE__)
2013/02/15 PHP
浅析PHP中的UNICODE 编码与解码
2013/06/29 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
javaScript同意等待代码实现心得
2011/01/01 Javascript
使用js修改客户端注册表的方法
2013/08/09 Javascript
js实现点小图看大图效果的思路及示例代码
2013/10/28 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
jQuery实现的手机发送验证码倒计时效果代码分享
2015/08/24 Javascript
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
Three.js学习之网格
2016/08/10 Javascript
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
解决Layui数据表格中checkbox位置不居中的方法
2018/08/15 Javascript
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
paramiko模块安装和使用(远程登录服务器)
2014/01/27 Python
Python分析学校四六级过关情况
2017/11/22 Python
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
高三数学教学反思
2016/02/18 职场文书
个人向公司借款协议书
2016/03/19 职场文书
mysql 数据插入优化方法之concurrent_insert
2021/07/01 MySQL
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js