零基础学编程040:在Windows上安装Python库的正确姿势
Python的优势不仅仅在于优雅的语言、简洁的语法,强大的第三方库是其能够用于各个领域的最重要杀手锏之一,如在数据科学领域的numpy、scipy、pandas、scikit-learn、jupyter,在Web开发领域的Django、Flask、Tornado等。
Python对linux是非常友好的,而在windows下,有时候安装第三方库时,会出现一些莫名其妙的错误,有时候能搞到你崩溃。
1. Conda命令
在windows操作系统使用Python时,强烈推荐先安装Anaconda免费的科学计算发行版。可以利用其内置的conda命令,安装第三方库。在 ArcGIS Pro 1.3的版本中,也使用了conda。在安装指定的第三方库时,如numpy,使用如下命令即可
conda install numpy
需要注意的是,conda命令需要在Anaconda Command Prompt中输入
2. Pip命令
用conda命令安装第三方库在windows上基本问题不大,但其所包括的第三方库毕竟有限,用的最多的还是pip命令,在《零基础学编程027:站在巨人的肩膀上》已介绍过,如
pip install numpy
pip会从互联网下载所有相关的文件进行全自动的安装,但网络情况不好的时候,可以现从 pypi 上找到包,下载到本地用下面的命令进行安装
pip install xxx.zip
3. whl 文件安装
用pip安装一些不太成熟的第三方库时,偶尔会失败,因而能用conda就尽量用conda,如果用pip命令不成功的话,可以直接找相应的whl文件,下载下来安装 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 如安装对应Python 2.7,64位版本的scikit-learn,在cmd或Anaconda Prompt命令窗口下,切换到下载目录,执行下列命令
pip install scikit_learn‑0.18.1‑cp27‑cp27m‑win_amd64.whl
需要注意的是,下载的whl文件名不要修改,留意Python版本和操作系统32位还是64位,下载错误的文件必然是装不成功的。
4. 源码安装
对于没有现成的安装文件时,可以尝试直接从github或其他地方下载源码,在cmd或Anaconda Prompt命令窗口下,切换到源码目录
python setup.py install
把这个第三库安装到系统默认的 Python 路径,如C:AnacondaLibsite-packages
5. 直接放在文件夹内
如果所需要的第三方库用上述方法都不行,可以尝试把代码文件下载下来,直接用import语句试试能否成功。这个基本上就看运气了,如果报错比较少的话,可以尝试自己修改下源码,比如python2和python3版本兼容的问题,或安装所缺少依赖包等。
本文来自“分享与成长群”成员时空Drei的分享。微信公众号:stdrei,专注于时空数据处理,欢迎点击文末左下角的“阅读原文”进行关注。
--- END ---
- webapp设置适应pc和手机的页面宽高以及布局层叠图片文字
- 比较Spring AOP与AspectJ
- Promise原理解析与实现
- Spring Cloud 覆写远端的配置属性
- C语言心得一
- .NET Core装饰模式和.NET Core的Stream
- Nginx反向代理,负载均衡,redis session共享,keepalived高可用
- 多行图片hover加边框兼容IE7+
- Debian JDK安装及配置
- Python With-As
- 用 TensorFlow 创建自己的 Speech Recognizer
- Shell利剑之xargs和time
- Shell利剑之export、read和history
- css sprite 调整大张图片中小图标的大小
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ggplot2 修改图例的一些操作
- 实践:SpringBoot实现定时任务的动态增删启停
- Asp.Net Core API 需要认证时发生重定向的解决方法
- 在 Windows 系统上启用远程应用
- ArcGIS Enterprise 配置 nginx 反向代理
- 在安卓手机上通过 Termux 运行编译/运行 .NET 应用
- 在 ASP.NET Core 中修改配置文件后自动加载新的配置
- 使用 frp 安全的暴露内网服务
- 在 .NET Core 应用中使用 NHibernate
- 使用 DataX 增量同步数据
- 在虚拟目录中部署 ASP.NET Core 应用
- Docker 容器的健康检查
- 使用 mono 编译 .NET Standard 应用
- 指定 ASP.NET Core 应用监听的端口
- 发布 Angular 应用至生产环境