Python 在命令行中的import 模块找不到的问题

日前在创建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


猜你喜欢

转载自blog.csdn.net/windskiper/article/details/78280945