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

相关文章

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Python实现高效地读写大型文件

《Python实现高效地读写大型文件》Python如何读写的是大型文件,有没有什么方法来提高效率呢,这篇文章就来和大家聊聊如何在Python中高效地读写大型文件,需要的可以了解下... 目录一、逐行读取大型文件二、分块读取大型文件三、使用 mmap 模块进行内存映射文件操作(适用于大文件)四、使用 pand

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

Python xmltodict实现简化XML数据处理

《Pythonxmltodict实现简化XML数据处理》Python社区为提供了xmltodict库,它专为简化XML与Python数据结构的转换而设计,本文主要来为大家介绍一下如何使用xmltod... 目录一、引言二、XMLtodict介绍设计理念适用场景三、功能参数与属性1、parse函数2、unpa

Python中使用defaultdict和Counter的方法

《Python中使用defaultdict和Counter的方法》本文深入探讨了Python中的两个强大工具——defaultdict和Counter,并详细介绍了它们的工作原理、应用场景以及在实际编... 目录引言defaultdict的深入应用什么是defaultdictdefaultdict的工作原理

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构