python在win7 64位下几个小问题

好久没上这个博客了

上一篇文章居然是一年前的

----------------------------------------------------------------------

最近在学习python和ML的知识,csdn上有很多出名的博客,都写得很好,适合我们这样的初学者。

机器学习实战 这本书里用到的算法都是用python实现的,加之python在知乎上很火


因为个人电脑用的是ubuntu+win7 64位双系统

平时的话windows用的多一点,于是在win7上装了python2.7


python比较强大的功能来自于它的的开源库,各种开源库,32/64 bit都有,

有一个很好的网站, 来自UC Irvine分校

http://www.lfd.uci.edu/~gohlke/pythonlibs

上面有几乎可能用到的所有python库,包括用的比较多的,numpy,scipy,NLTK,matplotlib等等

然后说说几个遇到的问题:


1.版本

因为在使用机器学习算法的时候需要用到Numpy, scipy, matplotlib,因此需要在上面的网站里找到并且下载

安装的时候需要注意,python库的版本需要跟python的版本一致不是windows的版本 

我用的是32位的python2.7 因此分别下载了上面三个库的32位版本


血与泪的教训就是,自己一直纠结于自己的64位操作系统,忘了自己装的的32位的python,所以出了很多莫名其妙的问题

比如,如果32位的python安装了64位的numpy库,你在python command line中输入:

from numpy import *
就会出现报错:

python ImportError: DLL load failed: %1 不是有效的 Win32 应用程序


2.库之间的依赖

依赖这个概念有点抽象。说白了就是这几个库的安装顺序。

举个例子,假设库B依赖于库A,那么在安装B之前需要安装库A。安装的顺序就是:库A-->库B


比如我要安装一个使用matplotlib库,这个库就会有很多的依赖:numpy scipy pyparsing等等

如果你没有安装numpy而直接安装了matplotlib库,然后在命令行输入:

import matplotlib
则会报错:

ImportError: matplotlib requires pyparsing

可能还会出现以下错误:

ImportError: No module named six

这些错误的出现都是因为没有弄清库之间的一来而安装错了顺序,所以重新调整一下安装顺序就好
因此,建议安装的顺序是,numpy, scipy, pyparsing, matplotlib


3.函数更新

最后是一个python使用的小问题,很多初学者应该都会忘记吧。自己也是出了很多莫名其妙的错误之后才发现的。


如果在一个func.py文件中用到了定义了某个函数func:

####################
#  name:func
#  parameter: null
#  return: bool
####################
def func():
    operation
    return True

在命令行中使用它:

import func

如果你修改了func.py中的定义,比如把函数中的

return True

改成了

return False


在重新保存了func.py之后,请一定记得在命令行中重新

import func

这样才能在后面的代码中使用修改了过后的函数


因为命令行中所用到的库是你最新一次import的库

如果只是在.py文件中做了更改并保存,在python的命令行里并不知道你对.py文件的操作,只知道你在命令行里import了哪些文件。


因此,python编程的一个好习惯是,如果用到了被修改的py文件,请在命令行里重新import一次。



-----------------------------------------------------------------------------------------------------

基本上就是这么多

其它的我要继续摸索了,等到有时间再写吧,希望别是明年了 :-)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值