日前在创建python工程时遇到如下问题
1 在eclipse环境下的pydev插件安装后,能够正常以python run运行整个工程
2 切换到cmd下,直接运行start.py 一直报 ImportError: No module named xxx
这个找不到的模块是start文件的次级目录当中的文件
首先根据网上的说明,怀疑是sys.path没有正确添加
但是无论是start头文件中sys.append,还是直接在PYTHONPATH中添加内容,均无法修复此问题
从打印情况看 当前工程目录已经添加到path路径中
最终的原因是层级目录写错
比如 start.py 在 a.b 目录下
而需要import的文件在a.b.c目录下
此时在start中写的是
from a.b.c.ClassA import ClassA
实际应该改成 from c.ClassA 才能通过检查
这样看来的话 实际运行python时受到了文件存放路径的影响,而不受文件所在工程的起始路径影响
因此import时要参考待yimport文件相对 start的目录地址
一个更保险的做法是把start文件放到整个工程的根目录下,这样引用其他文件 就能保证以全路径引用
更详尽的解释,找到了这篇文档,惠存
http://blog.csdn.net/sean_abc/article/details/20621417
http://blog.csdn.net/hansel/article/details/8975663