我创建了一个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机器上出现了这个问题。
答案 0 :(得分:1)
我尝试在PYTHONPATH中添加Levenshtein模块的路径(它已经存在于PATH中),这解决了我的问题;虽然我不完全理解为什么。感谢那些提供建议的人。
修改强>
在这里找到我问题的真实答案:How to execute Python scripts in Windows?