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

相关文章

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo