零基础学编程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:\Anaconda\Lib\site-packages

5. 直接放在文件夹内

如果所需要的第三方库用上述方法都不行,可以尝试把代码文件下载下来,直接用import语句试试能否成功。这个基本上就看运气了,如果报错比较少的话,可以尝试自己修改下源码,比如python2和python3版本兼容的问题,或安装所缺少依赖包等。

本文来自“分享与成长群”成员时空Drei的分享。微信公众号:stdrei,专注于时空数据处理,欢迎点击文末左下角的“阅读原文”进行关注。

--- END ---

原文发布于微信公众号 - 申龙斌的程序人生(slbGTD)

原文发表时间:2017-04-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏容器云生态

Mesos+Marathon+Docker构建docker集群化管理

由Docker引领的容器技术最近一年在生产环境叫嚣的比较厉害,由于Docker本身拥有的一些特性,使得越来越多的人愿意并且想尝试在生产环境构建Docker,有关...

2615
来自专栏Golang语言社区

NSQ:分布式的实时消息平台--简介

源码下载地址: https://github.com/bitly/nsq NSQ是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,代码托管在Gi...

4676
来自专栏Linyb极客之路

微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)

基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发、部署、运维管理、持续开发持续集成的流程。平台提供基础设...

2151
来自专栏lgp20151222

傻瓜式的go modules的讲解和代码

国内关于gomod的文章,哪怕是使用了百度 -csdn,依然全是理论,虽然golang的使用者大多是大神但是也有像我这样的的弱鸡是不是?

3542
来自专栏腾讯移动品质中心TMQ的专栏

像 google 一样测试系列之五:流程与覆盖率篇

有了用例,还需持续跑起来,并能有覆盖率。如何让 Local Unit Tests和Instrumented Tests 都支持脚本执行?

1811
来自专栏Golang语言社区

NSQ:分布式的实时消息平台--简介

源码下载地址: https://github.com/bitly/nsq NSQ是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,代码托管在Gi...

4426
来自专栏Golang语言社区

NSQ:分布式的实时消息平台--简介

源码下载地址: https://github.com/bitly/nsq NSQ是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,代码托管在Gi...

3546
来自专栏我的技术笔记

面向开发者的Cloud Foundry

Cloud Foundry是一个流行的开源PaaS(Platform as a Service 平台即服务)云平台。Cloud Foundry可以用在你自己部...

2515
来自专栏架构师小秘圈

微服务架构实施原理

2173
来自专栏FreeBuf

挖洞经验 | 看我如何综合利用4个漏洞实现GitHub Enterprise 远程代码执行

大家好,距离上次漏洞披露已有半年之余,在这篇文章中,我将向大家展示如何通过4个漏洞完美实现GitHub Enterprise的RCE执行,该RCE实现方法与服务...

4316

扫码关注云+社区