Python:在脚本中运行脚本时找不到模块

时间:2016-07-05 15:14:48

标签: python import subprocess

我创建了一个Python程序A,后来我编写了另一个使用子进程库调用A的Python程序B.我在A中安装了一个模块foo,它工作得非常好,直到我开始从B调用该程序。现在,我收到了错误:

ImportError: no module named foo

调用B时。我确信模块安装正确,因为当我从A和B的同一目录输入python shell时,我能够导入foo并成功使用它的功能。那么,为什么在这种情况下不能正确导入?

修改

我使用以下调用从程序A调用程序B.

call(["python", "levMap9.py", inputFilePath, outputFilePath, scalingFactor])

在程序B(levMap9.py)中,我进行了以下导入,由于某种原因导致导入错误

import Levenshtein as LV

EDIT2

我意识到可能值得一提的是,当我最初在OSX上开发它们时,这些程序运行正常,但现在在Windows 8机器上出现了这个问题。

1 个答案:

答案 0 :(得分:1)

我尝试在PYTHONPATH中添加Levenshtein模块的路径(它已经存在于PATH中),这解决了我的问题;虽然我不完全理解为什么。感谢那些提供建议的人。

修改

在这里找到我问题的真实答案:How to execute Python scripts in Windows?