我想向默认情况下包含在我的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'
有非hacky方式吗?
答案 0 :(得分:1)
我明白了:
>>> 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笔记本从root
文件夹启动:
root
|- main.py
|- imbalanced-learn/
|- imblearn/
|- __init__.py
|- setup.py
|- ...