1.主要任务
在windows平台上已经安装有python 3.4,由于学习需要,打算在该环境下安装配置支持Python3.4的numpy、matplotlib库,其中采用msi安装包安装对应的python库,并整理出安装时遇到的主要问题,方便以后查阅。
2.配置环境
操作系统:Windows 7 professional x86_64
解释器版本:Python 3.4.0
安装库版本:numpy 1.11.1(msi安装包下载地址:https://sourceforge.net/projects/numpy/files/)
matplotlib 1.5.0 (msi安装包下载地址:https://sourceforge.net/projects/matplotlib/files/)
3.问题方案
3.1 问题一 ——“Python 3.4 not found in registry“
在执行对应的msi安装包时,总是会遇到问题“Python 3.4 not found in registry”。这是由某些模块安装时在windows注册表上寻找python版本相关信息时找错地方而产生的,对于numpy(matplotlib)来说,它们寻找的注册表项应该位于HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.4,但是实际python3.4安装注册表信息位于HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.4。其解决方法是通过注册表编辑器(regedit)导出HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\3.4项,再利用文本编辑器打开对应reg文件,将文本中的所有“HKEY_LOCAL_MACHINE”字符串替代为“HKEY_CURRENT_USER”并保存,双击写入注册表即可完成安装步骤。
相似解决方案可参考网站:http://stackoverflow.com/questions/24676609/numpy-python-3-4-1-installation-python-3-4-not-found-in-registry。
3.2问题二——"AttributeError: 'module' object has no attribute 'cbook'"
在python命令行界面上执行语句"import matplotlib"时遇到上述错误,这是由于旧版的pyc文件存在产生的。pyc是python字节码文件,由python解释器首次对应py文件执行时产生,当下次执行对应py文件时,解释器直接执行pyc字节码文件。其解决方案是通过windows资源管理器打开python解释器安装位置,找到对应的pyc文件并且直接删除。对于本文所描述的问题来说,我们在python3.4安装目录下的‘\Lib\site-packages\matplotlib\__pycache__’路径中找到"cbook.py"对应的字节码文件"cbook.cpython-34.pyc",并直接删除。
相似解决方案可参考网站:http://stackoverflow.com/questions/20356158/mtaplotlib-attributeerror-module-object-has-no-attribute-pyplot。