Mac, No Module named xxx

Mac电脑的使用者,跑程序时应该经常遇到这个问题:No Module named xxx

原因是,你运行的文件可能存在 My Document (Documents),而Python文件又在另外一个位置,在terminal用which python/where python 可以查看。

下载的配置文件,比如tornado又会存在其它的位置(与Python位置不同,也不在Documents)。这时候,运行失败,很可能出现Error: No Module named tornado之类的信息。明明已经安装了,系统路径也改了,但是还是不能用,比较崩溃。

这时候可以用这种方法

在需要运行的文件头部,

import sys
print(sys.path)

先看看这个文件运行时查看哪些路径。很可能python tornado的安装路径不在里面。

这时就需要加上
sys.path.append('/usr/local/lib/python2.7/site-packages/')

然后再
import tornado.httpserver

应该就可以运行了

 

另外一个方法就是软链接symbolic link,但是可能需要链接很多文件。如果这些文件都在一个路径里,则以上这个方法是更快的。

 

后记:最近发现,一个好的方法和习惯是,用conda或virtualenv(我只用过conda)创建一个虚拟环境env,然后下载python,和其它需要用到的包,比如tornado。然后你要运行的文件最好也放在这个env里。这样路径就统一了。我之所以这么做,最初是因为需要下载一个python3.5(我本来用的是python3.6,不想把大环境搞乱,所以创建了一个虚拟的),结果我发现,虚拟env非常好用,还顺便解决了no module named XXX的问题。

如果你用的是pycharm,配置project interpreter 可参考这篇文章:

https://blog.csdn.net/codechelle/article/details/77050957

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值