cmd命令行交互执行python引入模块时提示ImportError: No module named xxx

1、我的目录结构:


2、cmd报错


3、如何解决:

创建PYTHONPATH 变量,在这个环境变量中输入相关的路径,不同的路径之间用英文逗号分开
这里的路径会自动加入到sys.path中,永久存在于sys.path中而且可以在不同的python版本中共享,应该是一样较为方便的方法。


现在来看cmd中执行:

如果是工程根目录下的,就直接import 模块名(例如我上图中的First.py)。

如果有上层有包,就写:import 包名.模块名(例如我上图中的Second.py)


4、最后分析:

Python搜索模块的路径:
(1)、程序的主目录
(2)、PTYHONPATH目录(如果已经进行了设置)
(3)、标准连接库目录(一般在/usr/local/lib/python2.X/)
(4)、任何的.pth文件的内容(如果存在的话).新功能,允许用户把有效果的目录添加到模块搜索路径中去.pth后缀的文本文件中一行一行的地列出目录。(有需要的话也会在Lib\site-packages目录下建一个.pth的文件)

这四个组建组合起来就变成了sys.path了

这里有个很隐蔽的坑,直接IDE里运行py文件可能没问题,但是命令行 python XXX.py就会报错,其实就是python这种机制导致的,希望有缘人能够看到

PS:文章上半部分是我盗用的,求饶恕~~~~

原文地址点击打开链接

猜你喜欢

转载自blog.csdn.net/uwenhao2008/article/details/80176351