Python:导入已经导入的模块

Python: Import module that has already been imported

我想向默认包含在我的 python 发行版 (anaconda 4.3.14) 中的库 (imblearn, v.0.3.0) 提交拉取请求。在提交之前,我想测试我克隆的仓库。因此,我需要从 不同的 位置(克隆的存储库)重新加载模块,而不是 相同的 默认位置 here .

将位置添加到路径作为第一个元素不起作用:

>>> import sys
>>> sys.path.insert(0, 'C:\my repositories\imbalanced-learn\imblearn')

打印版本仍然给出来自 anaconda 文件夹version.py的结果

>>> from imblearn import version
>>> version.__version__
'0.3.0.dev0'

有什么不黑的方法吗?

我想通了:

>>> import os, sys
>>> dir = os.path.dirname(os.path.abspath(os.path.realpath('.')))
>>> libRoot = os.path.join(dir, 'imbalanced-learn') # include parent folder of library
>>> sys.path.insert(0,libRoot) # NOTE: insert at beginning of path array

导致

>>> from imblearn import version
>>> version.__version__
'0.3.1.pr'

假设文件结构如下,例如jupyter notebook 从 root 文件夹启动:

root
|- main.py
|- imbalanced-learn/
   |- imblearn/
      |- __init__.py
      |- setup.py
      |- ...