我的脚本无法运行,我有一些非常神秘的行为.显然,下面的脚本是微不足道的,什么都不做,但它是在一个真实的脚本中再现行为.这是调用文件中的代码test.py.
import os
os.chdir('/home/jacob/twcSite')
import app
Run Code Online (Sandbox Code Playgroud)
app位于'home/jacob/twcSite',与当前目录不同的目录,包含test.py.如果我python test.py在命令行键入,我得到ImportError: No module named app.但是,如果我只是键入python以启动交互式解释器并复制粘贴完全相同的三个命令,那么它可以正常工作而不会导致导入错误.
什么可能导致此错误?这是python的相同版本.完全相同的代码行.为什么我在两种情况下都会有不同的行为?只是为了给出更多的细节,如果你os.getcwd()在调用os.chdir它之前和之后打印输出确实声称已经改变到正确的目录(尽管显然不是这种情况).我正在运行Ubuntu 14.04,Python版本2.7.6.
Kyl*_*ker 15
更改目录不会改变您的导入路径,它只是更改打开文件的目录等等.
请参阅sys.path
import sys
sys.path.append('/home/jacob/twcSite')
import app
Run Code Online (Sandbox Code Playgroud)