假设我的代码存在于生产中的a.b.something中,并且我的cvs存储库中有相同的路径,如何让python选择模块的本地更改?
在Perl中,可以在运行脚本时通过perl -I调用。我搜索的范围很广,没有找到以下替代方案:
寻找像Perl调用一样微妙的东西或任何其他更简单的方法来改变路径(不触及代码)
感谢。
答案 0 :(得分:1)
Python允许你搞砸import
的内部。
您可以在此处找到更多详细信息:http://docs.python.org/2/library/imp.html
或者,修改sys.path
似乎有效:
$ cat some_module.py
def test():
return "one module"
$ cat other/some_module.py
def test():
return "the other module"
$ python -c 'import sys; import some_module; print some_module.test()'
one module
$ python -c 'import sys; sys.path.insert(0, "other/"); import some_module; print some_module.test()'
the other module