在Python中用我自己的模块遮蔽网站模块

时间:2016-04-22 23:38:31

标签: python python-import

我有一个脚本foo.py,尝试from bar import baz:基本上层次结构如下:

/
    foo.py
    bar/
        __init__.py
        baz.py

问题是系统在bar中发布了自己的site-packages版本,我想避免导入它(我想确保使用我发布的模块而不是任何版本在系统上。)

最初我认为sys.path中路径的顺序足以解决问题。但是,在某些系统上,bar.pth中的site-packagesbar文件会将sys.modules添加到sys.path,导致导入时bar完全忽略site-packages {1}}只需导入bar版本。

如何确保导入本地版本的var y = x.split('&')[0]; // y = "3558" ,无论系统上可能设置了哪些内容?

1 个答案:

答案 0 :(得分:0)

根据documentation,如果您定义一个环境变量PYTHONPATH,其中包含文件夹bar,将首先尝试,因此它将导入您的模块。< / p>