Python配置第三方库Theano的曲折之路

2024-08-28 18:18

本文主要是介绍Python配置第三方库Theano的曲折之路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  Theano是Python的一个深度学习的第三方库,今天有同学问我怎样配置。OK,既然有需求,我就花了半天时间研究它,并完成了windows下32位和64位系统下的配置。这里在配置的过程中我走了一些弯路,在这篇文章中我会将我在配置过程中遇到的问题、出现的错误、解决的方法都完整的列出来,供大家参考,并列出直接简洁的配置方法。

  一、基本情况

  Theano算是Python中配置相对复杂的库了,这里先对目前的配置需求进行一个基本说明。

  1、Python配置第三方库的基本方法

  Python配置第三方库主要有以下几种方法:

  (1)Pip自动安装

  Pip是Python安装第三方库的首选方法,简单快捷,系统自动分析安装需求并从Pipy下载相应的库文件。安装Python编译器后会默认安装Pip工具,pip工具安装第三方库非常简单,只需在命令提示符窗口中输入“pip install 库名称”即可。

  在使用Pip工具时首先需要配置相关环境变量。假设我们将Python装在C盘根目录下:

  此时需要将该目录以及目录下的Scripts文件夹的路径添加到环境变量中:

  接下来我们打开命令提示符窗口,首先需要对Pip版本进行更行,更新到最新版本方可使用,更新命令为“pip install --upgrade pip”:

  更新完成后,即可使用pip工具进行第三方库的安装。这里有一个问题需要注意,就是Python必须安装在C盘下才能完成版本更新,之前安装在D盘时,在版本更新的过程中会一直显示文件移动方面的错误,这个BUG目前还没有解决,好在Python本身并不大,且相对简洁,就暂且装在C盘了。

  接下来就可以使用pip进行自动安装,非常简洁,直接“pip install 库名称”即可:

  这里我们已经安装好了Theano,因此Pip会给出提示信息,否则会自动安装。

  (2)Pip手动安装

  所谓Pip手动安装,是指我们手动下载第三方库的安装文件,然后使用pip安装。这里提供第三库安装文件的下载地址:第三方库,下载时注意版本匹配即可。

  注意这里的安装文件都是whl格式的,而非exe或者msi格式,也就意味着下载得到的安装文件只能用pip工具安装,直接双击是行不通的。

  假设这里我们用pip手动安装scipy模块。在刚才的地址中下载scipy的安装文件,这里选择win32、CP34(Python3.4)版本的安装文件:

  下载完成后,为了方便,将文件放在C盘根目录下,然后在命令提示符界面进入C盘文件夹下,使用pip命令进行安装:

  这里由于之前已经安装过numpy模块,pip会给出提示。若之前未安装相关模块,pip会在此处进行自动安装。不过这里需要强调的一点是使用pip进行手动安装时一定要先进入安装文件所在的目录,否则pip将无法找到安装源。

  (3)使用exe文件安装

  对于一些常用的第三方库,在如下地址可能会找到相应的exe版本的安装文件:exe安装文件地址,如果能在网站上搜索到相关的exe版本安装文件,下载下来直接双击安装皆即可,当然同样需要注意版本匹配的问题,而且这里貌似没有64位版本的安装文件。

  2、安装环境需求

  在安装Theano库之前,需要以下扩展库的支持:numpy(包含BLAS,ATLAS等)、scipy、libpython;需要g++支持(通过mingw安装),这里g++需要区分32位和64位。我的电脑是win7,64位,不过我的Python是32位的(64位windows是可以安装32位Python的)。这里由于我们的Python是32位的,因此以下安装的所有模块都是32位版本。

  二、开始安装

  1、安装第三方库

  首先安装numpy。经过测试以上三种方法都可以安装numpy模块,但这里必须采用第二种,也就是手动下载numpy模块来用pip安装。原因是其他两种方法安装numpy模块后,还需要手动安装BLAS、ATLAS等等,而且这两个模块都是需要进行编译才能安装的,非常麻烦,而下载得到的numpy貌似封装了这几个繁琐的模块,因此能节省很多功夫。

  安装完成之后继续安装scipy模块,这里我们同样推荐使用第二种方法手动安装,方便快捷,不受网速制约。使用pip自动安装时经常会下载失败什么的。

  然后在安装libpython模块,同上。

  以上这三个模块的安装过程都是完全相同的,这里稍作总结:在Python安装第三方模块时推荐手动安装,方便快捷。使用pip自动安装时会受防火墙、网速等各种各样的因素限制,安装的成功率低。当然如果不能找到对应的whl安装文件(例如nose模块),就只能使用pip进行自动在线安装了。这里不推荐去sourceforge去找exe版,一是exe版的安装文件不全面;二是exe版安装的库与pip安装的库并不完全相同,时间长了可能会引发未知的兼容性问题;三是exe版安装文件没有64位的。

  安装完以上扩展库后,可以安装theano库了。这里必须使用pip自动安装了,因为找不到对应的whl版本和exe版本,好在pip很给力,自动安装成功:

  这里在自动安装之前Pip会先检查numpy和scipy的安装情况,如果没有正确安装的话pip会先进行numpy和scipy的安装(当然我们不希望它这样做),然后安装theano,大约五分钟左右,下载完成,安装成功。

  2、安装g++

  首先,这里提供一个g++的下载地址:g++

  安装完theano后,我们先测试一下:

  很明显,Python提示我们没有g++,接下来我们安装一个。

  那么问题来了,我是64位windows,32位Python,那我们应该装64位的g++还是32位的g++呢?经过尝试,需要装64位的g++。想想也有道理,因为g++和Python并不是绑定的。

  这里给出64位MinGw的下载地址:64位MinGw。下载完成后,双击进行安装:

  单击next,在配置界面选择如下,单击next:

  由于是编译器,默认安装在C盘,单击next:

  这个过程会相对比较漫长,大约十分钟左右:

  单击next,安装完成。接下来将路径"C:\Program Files (x86)\mingw-w64\i686-5.2.0-posix-dwarf-rt_v4-rev1\mingw32\bin"添加到环境变量中(不同计算机的路径可能稍有不同),此时再次测试theano,安装成功:

  三、测试theano

  仅仅是import语句的话大家可能还不太确信theano库安装的正确性,接下来我们运行其中的一个小的测试函数。不过这里需要先安装nose模块,推荐使用pip进行自动安装:

  网速流畅的话应该几秒钟即可安装完成,再次测试theano:

  说明theano安装顺利完成,这里给出的警告是提示我们尚未进行GPU的配置,这点以后在说,因为theano是支持CPU的。

  四、32位系统下的配置

  刚才说的是在64位系统下配置32位python,接下来说说如何在32位系统下配置32位python的theano库。首先安装numpy、scipy、libpython、theano这四个库,这些库的安装和上面说的安装方法完全一样(因为都是32位python)。唯一不同的就是g++的安装,显然32位系统需要安装32位的g++:

  双击进入安装界面,单击next,选择下载最新版本选项:

  单击next,接受协议,next,指定安装路径(这里同样为C盘):

  单击next,选择C和C++编译器:

  单击next,单击install,开始安装,注意这里的安装是在dos界面下自动完成的:

  安装完成后,将安装目录下的bin文件夹的路径添加到环境变量中,32位的g++安装完成。这里有两个注意问题:

  (1)之前按照百度上提供的方法,通过下载器来安装32位g++,一直提示失败,原因不详。

  (2)在环境变量中32位g++和64位g++不能共存,否则会引发未知错误。这也告诉我们在配置环境变量时一定要注意及时删除失效路径,一是保证系统的安全,从而保持环境变量的整洁性。

  

 

这篇关于Python配置第三方库Theano的曲折之路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115517

相关文章

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

IDEA连接达梦数据库的详细配置指南

《IDEA连接达梦数据库的详细配置指南》达梦数据库(DMDatabase)作为国产关系型数据库的代表,广泛应用于企业级系统开发,本文将详细介绍如何在IntelliJIDEA中配置并连接达梦数据库,助力... 目录准备工作1. 下载达梦JDBC驱动配置步骤1. 将驱动添加到IDEA2. 创建数据库连接连接参数

Python如何在Word中生成多种不同类型的图表

《Python如何在Word中生成多种不同类型的图表》Word文档中插入图表不仅能直观呈现数据,还能提升文档的可读性和专业性,本文将介绍如何使用Python在Word文档中创建和自定义各种图表,需要的... 目录在Word中创建柱形图在Word中创建条形图在Word中创建折线图在Word中创建饼图在Word

Python Excel实现自动添加编号

《PythonExcel实现自动添加编号》这篇文章主要为大家详细介绍了如何使用Python在Excel中实现自动添加编号效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍简单的说,就是在Excel中有一列h=会有重复

Python FastAPI入门安装使用

《PythonFastAPI入门安装使用》FastAPI是一个现代、快速的PythonWeb框架,用于构建API,它基于Python3.6+的类型提示特性,使得代码更加简洁且易于绶护,这篇文章主要介... 目录第一节:FastAPI入门一、FastAPI框架介绍什么是ASGI服务(WSGI)二、FastAP

Python中Windows和macOS文件路径格式不一致的解决方法

《Python中Windows和macOS文件路径格式不一致的解决方法》在Python中,Windows和macOS的文件路径字符串格式不一致主要体现在路径分隔符上,这种差异可能导致跨平台代码在处理文... 目录方法 1:使用 os.path 模块方法 2:使用 pathlib 模块(推荐)方法 3:统一使

一文教你解决Python不支持中文路径的问题

《一文教你解决Python不支持中文路径的问题》Python是一种广泛使用的高级编程语言,然而在处理包含中文字符的文件路径时,Python有时会表现出一些不友好的行为,下面小编就来为大家介绍一下具体的... 目录问题背景解决方案1. 设置正确的文件编码2. 使用pathlib模块3. 转换路径为Unicod

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C