我有一个脚本使用以下代码来源python库的本地副本:
# get our local copy of pybst
import sys
sys.path.insert(0, sys.path[0] + "/../libs/")
from pybst import avltree
当我使用python script.py
运行时,一切运行正常。但是,当我运行pdb script.py
并开始逐步完成时,我会得到ImportError
:
ImportError: 'No module named pybst
如果我改变sys路径行而不是使用../libs
(没有第一个斜杠),pdb
工作正常,但python
会中断。
为什么会这样? pdb
以sys.path
的方式修改python
变量吗?
编辑:
所以这里有一些有趣的东西,我在插入之前插入了print sys.path
,这是我找到的(pdb
}:
before:
sys.path[0] = '/../libs/'
after
sys.path[0] = '/../libs//../libs/'
并在使用Python运行时:
before: sys.path[0] = /path/to/my/script