Windows系统Python包的安装(持续更新...)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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程序即可解决(该方式来源于网上)。
1 # 2 # script to register Python 2.0 or later for use with win32all 3 # and other extensions that require Python registry settings 4 # 5 # written by Joakim Loew for Secret Labs AB / PythonWare 6 # 7 # source: 8 # http://www.pythonware.com/products/works/articles/regpy20.htm 9 # 10 # modified by Valentine Gogichashvili as described in http://www.mail-archive.com/[email protected]/msg10512.html 11 12 import sys 13 14 from _winreg import * 15 16 # tweak as necessary 17 version = sys.version[:3] 18 installpath = sys.prefix 19 20 regpath = "SOFTWARE\\\\Python\\\\Pythoncore\\\\%s\\\\" % (version) 21 installkey = "InstallPath" 22 pythonkey = "PythonPath" 23 pythonpath = "%s;%s\\\\Lib\\\\;%s\\\\DLLs\\\\" % ( 24 installpath, installpath, installpath 25 ) 26 27 28 def RegisterPy(): 29 try: 30 reg = OpenKey(HKEY_CURRENT_USER, regpath) 31 except EnvironmentError as e: 32 try: 33 reg = CreateKey(HKEY_CURRENT_USER, regpath) 34 SetValue(reg, installkey, REG_SZ, installpath) 35 SetValue(reg, pythonkey, REG_SZ, pythonpath) 36 CloseKey(reg) 37 except: 38 print "*** Unable to register!" 39 return 40 print "--- Python", version, "is now registered!" 41 return 42 if (QueryValue(reg, installkey) == installpath and 43 QueryValue(reg, pythonkey) == pythonpath): 44 CloseKey(reg) 45 print "=== Python", version, "is already registered!" 46 return 47 CloseKey(reg) 48 print "*** Unable to register!" 49 print "*** You probably have another Python installation!" 50 51 52 if __name__ == "__main__": 53 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等会出错。
建议以下两种方式:
方式1:在https://sourceforge.net/projects/numpy/files/NumPy/ 下载exe安装包直接安装。
无需关注python版本和位数,直接安装,方便快捷。
注:最新的版本只提供exe的安装包
方式2:在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
方式1:https://sourceforge.net/projects/scipy/files/scipy/
方式2:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
5、graphviz的安装
graphviz是一个图像软件,在python下通过pygraphviz来连接。
1)下载并安装 graphviz
http://www.graphviz.org/Download_windows.php
2)下载pygraphviz的源码包并解压,解压时请使用管理员权限打开解压缩工具进行解压
https://pypi.python.org/pypi/pygraphviz/
通过python setup.py install安装,安装到最后会提示出错。
3)下载 pygraphviz的预编译包并执行,请注意版本和位数
http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygraphviz
下载后通过pip安装,会提示成功。
3)执行以下命令
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 + Ubuntu)常用操作和错误处理记录(持续更新……)