Windows系统Python包的安装
本文针对于Python初学者,Python老鸟请绕道。
最近同时尝试在Windows10、MacOS、Ubuntu三个系统上安装Python相关的包,整体比较,Ubuntu最简单,Windows10最复杂。
建议:如果可能,尽量使用Linux系统,Windows10系统最好谨慎入坑。
以下记录Windows平台部分相关模块的安装问题:
1、 区分python是32位还是64位,这个至关重要。注意:并不是Windows系统,而是Python。
查看方式:在cmd中输入python,看下图中红圈的部分,一个系统中

2、pywin32
如果python要使用windows系统API的库,那首先要安装的是pywin32,官方下载链接:
https://sourceforge.net/projects/pywin32/files/pywin32/
1)点击上述链接会看到很多版本,点击要安装的版本号,会进入一个列表,
注意:请按照python的版本和python的位数选择对应的文件,比如
pywin32-221.win-amd64-py2.6.exe -> python2.6.x版本(py2.6),64bit(win-amd64)
pywin32-221.win32-py3.7.exe -> python3.7.x版本(py3.7),32bit(win32)
这个一定要选择正确,否则后期会提示"dll load faild:%1 不是有效的win32程序",这都是32bit和64bit不匹配的问题。
2)下载后,在安装时会有两种问题,提示“找不到python模块“,或者“python没有注册”的错误。
问题1:找不到python模块,而且不支持手动添加python目录。
解决方式,请在系统的path中添加python的目录。
问题2:这个是需要导入一个注册表。
一般的解决方法是执行下边的python程序即可解决(该方式来源于网上)。
#
# script to register Python 2.0 or later for use with win32all
# and other extensions that require Python registry settings
#
# written by Joakim Loew for Secret Labs AB / PythonWare
#
# source:
# http://www.pythonware.com/products/works/articles/regpy20.htm
#
# modified by Valentine Gogichashvili as described in http://www.mail-archive.com/distutils-sig@python.org/msg10512.html import sys from _winreg import * # tweak as necessary
version = sys.version[:]
installpath = sys.prefix regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (
installpath, installpath, installpath
) def RegisterPy():
try:
reg = OpenKey(HKEY_CURRENT_USER, regpath)
except EnvironmentError as e:
try:
reg = CreateKey(HKEY_CURRENT_USER, regpath)
SetValue(reg, installkey, REG_SZ, installpath)
SetValue(reg, pythonkey, REG_SZ, pythonpath)
CloseKey(reg)
except:
print "*** Unable to register!"
return
print "--- Python", version, "is now registered!"
return
if (QueryValue(reg, installkey) == installpath and
QueryValue(reg, pythonkey) == pythonpath):
CloseKey(reg)
print "=== Python", version, "is already registered!"
return
CloseKey(reg)
print "*** Unable to register!"
print "*** You probably have another Python installation!" if __name__ == "__main__":
RegisterPy()
我们仔细分析下代码,其实就是pywin32在执行前要先检查注册表的以下两项:
HKEY_CURRENT_USER\SOFTWARE\Python\Pythoncore\x.x(注:版本,比如2.7,3.6)\InstallPath
这个key的value必须是系统path中python的安装路径,
HKEY_CURRENT_USER\SOFTWARE\Python\Pythoncore\x.x(注:版本,比如2.7,3.6)\PythonPath
这个key的value必须是系统path中python的安装路径、Lib、DLLs的路径,没有找到就创建相应的key并赋值。
所以也可以自己直接手动修改regedit。
3)通过python环境下,import win32api 来验证是否安装成功。
3、numby的安装
numby是很多模块的依赖库,比如pandas、scipy、matplotlib等,由于numby使用了部分C编译的内容,直接通过pip、easy_install等会出错。
在http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy 下载预编译包,通过pip安装
注意1:python版本和位数,如果不正确,则在安装时会报错。
numpy‑1.11.3+mkl‑cp27‑cp27m‑win32.whl -> python2.7.x版本(cp27),32bit(win32)
numpy‑1.11.3+mkl‑cp36‑cp36m‑win_amd64.whl -> python3.6.x版本(cp36),64bit(win_amd64)
注意2:安装前请先升级pip版本,否则有可能会失败。
4、scipy的安装
scipy的安装和numpy类似,参考事项参见numpy
http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
5、graphviz的安装
graphviz是一个图像软件,在python下通过pygraphviz来连接。
1)下载并安装 graphviz
http://www.graphviz.org/download/
2)下载pygraphviz的源码包并解压,解压时请使用管理员权限打开解压缩工具进行解压
https://pypi.python.org/pypi/pygraphviz/
3) 安装vc++编译器
2.7:http://aka.ms/vcpython27
3.6 : http://landinghub.visualstudio.com/visual-cpp-build-tools
4)通过python setup.py install安装,安装到最后会提示出错。
5)下载 pygraphviz的预编译包并执行,请注意版本和位数
http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygraphviz
下载后通过pip安装,会提示成功。
6)执行以下命令
pip install pygraphviz --install-option="--include-path=xxxx\Graphviz2.38\include" --install-option="--library-path=xxxx\Graphviz2.38\lib\release\lib"
请用全路径代替上述红色部分,执行会提示成功。
至此pygranphviz完全安装成功,通过import pygraphviz 可以验证是否安装成功。
Windows系统Python包的安装的更多相关文章
- Windows系统Python 虚拟环境virtualenv安装
1.我们用pip安装virtualenv >pip3 install virtualenv 2.创建工程目录 >mkdir myproject 3.进入工程目录 >cd myproj ...
- Windows上python开发--2安装django框架
Windows上python开发--2安装django框架 分类: 服务器后台开发2014-05-17 21:22 2310人阅读 评论(2) 收藏 举报 python django 上一篇文章中讲了 ...
- windows系统,boost编译安装
windows系统,boost编译安装vs2017 1.下载https://www.boost.org/users/download/下载windows对应的zip包解压 2.配置vc环境变量我的是: ...
- Windows系统java下载与安装
Windows系统java下载与安装 一.前言 作者:深圳-风尘 联系方式:QQ群[585499566] 博客:https://www.cnblogs.com/1fengchen1/ 能读懂本文档人: ...
- windows系统下如何正确安装Cygwin(图文详解)
我的操作系统信息是 1.在官网https://cygwin.com/install.html下载win64位安装包 选择包的下载存放目录,点击“下一步” 为了使我们安装的Cygwin能够编译程序, ...
- Python3.6(windows系统)通过pip安装bs4
Python3.6(windows系统)通过pip安装bs4 cmd安装命令: pip install beautifulsoup4 执行结果:
- python学习:Windows 下 Python easy_install 的安装
Windows 下 Python easy_install 的安装 下载安装python安装工具下载地址:http://pypi.python.org/pypi/setuptools 可以找到 ...
- windows系统下GCC的安装与配置
刚开始看 C++ Primer,看到编译器的部分,自己搜了搜怎么搭建GCC,搜到以下内容,复制过来留个印象: windows系统下GCC的安装方法,以及一些环境变量的配置,如果对GCC不是很清楚,关于 ...
- windows下Python三步安装pip
pip是用来方便地管理Python的第三方包的,由于此前玩Python仅仅是浅尝辄止,用的是python(x,y),但是这里并不代表你想用什么包都能从里面找到的,所以我把python(x,y)卸了,然 ...
随机推荐
- python数据类型之列表(list)和其常用方法
列表是python常用数据类型之一,是可变的,可由n = []创建,也可由n = list()创建,第一种方法更常用. 常用方法总结: # 创建方法 n = [] 或者 n = list() # in ...
- Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
文档:Docker 启动错误.note链接:http://note.youdao.com/noteshare?id=065111d506e1b132dc930dbe88f5d7b0&sub=A ...
- LeetCode(287)Find the Duplicate Number
题目 Given an array nums containing n + 1 integers where each integer is between 1 and n (inclusive), ...
- 如何锁定Android系统CPU的频率
接触到了Android系统的Performance测试,所以有锁定CPU的需求: 由于要首先读取到此系统所支持的CPU频率,之后再所支持的频率中选取你想要的频率,之后进行锁定. 这个过程,手动也是可以 ...
- VMware-Ubuntu入门(1)
大家都说Linux系统是让程序员用起来更有成就感的系统,我也来体验下: 对于小白鼠的我,并没有直接在电脑上重装Linux系统,而是通过VMware工具搭建Ubuntu虚拟linux环境. 首先展示下V ...
- tensorflow笔记
1.Estimator 进行编程的概览 要根据预创建的 Estimator 编写 TensorFlow 程序,您必须执行下列任务: 创建一个或多个输入函数. 定义模型的特征列. 实例化 Estimat ...
- python 时间、日期、时间戳的转换
在实际开发中经常遇到时间格式的转换,例如: 前端传递的时间格式是字符串格式,我们需要将其转换为时间戳,或者前台传递的时间格式和我们数据库中的格式不对应,我们需要对其进行转换才能与数据库的时间进行匹配等 ...
- SQL DML 和 DDL
数据库表 一个数据库通常包含一个或多个表.每个表由一个名字标识(例如“客户”或者“订单”).表包含带有数据的记录(行). 下面的例子是一个名为 "Persons" 的表: Id L ...
- 【bzoj2085】[Poi2010]Hamsters Hash+倍增Floyd
题目描述 Tz养了一群仓鼠,他们都有英文小写的名字,现在Tz想用一个字母序列来表示他们的名字,只要他们的名字是字母序列中的一个子串就算,出现多次可以重复计算.现在Tz想好了要出现多少个名字,请你求出最 ...
- HttpRunner自动化框架学习笔记
一.简单介绍 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求. 支持p ...