cmd运行python脚本找不到包_命令行执行python模块时提示包找不到的问题

庄稼人不是专职python开发的道友,虽然与python相识已多年,可惜相识不相知,只是偶尔借助pydev写一些简单的小工具。

多年来,一直困惑于这样一个问题:同样的工程,同样的代码,使用pydev可以运行任意一个python脚本,而使用命令行运行却不行?命令行下(或者双击执行)总是提示“ImportError: No module named xxx”?pydev究竟做了什么魔术呢?

长话短说,以上面工程为例,如果是在命令行中直接执行 python c.py , 都会提示"ImportError: No module named xx_package.b".但是pydev中可以直接运行。

比较两者的包查找路径,也就是sys.path,

pythondev:

['F:\\Archive\\workspace-java\\PyExperiment\\xx_package', 'F:\\Archive\\workspace-java\\PyExperiment', 'F:\\Archive\\workspace-java\\PyExperiment\\xx_folder' ,。。。]

命令行:

['F:\\Archive\\workspace-java\\PyExperiment\\xx_package', 。。。]

什么都不用说了,明眼人一看就明白了,pydev在运行时会把当前工程的所有文件夹路径都作为包的搜索路径,而命令行默认只是搜索当前路径。也于是乎,xx_packag

你可能感兴趣的:(cmd运行python脚本找不到包_命令行执行python模块时提示包找不到的问题)