我正在使用scikit-learn库,想要玩代码。如何调用自定义库而不是标准库?这里mycode.py是main函数,它从sklearn调用函数(我想修改sklearn函数)
这是我的代码结构
mycode.py
scikit-learn\
benchmarks\
sklearn\
etc
我试过mycode.py:
from scikit-learn import sklearn
不起作用,因为scikit-learn是无效的Python模块名称。我无法更改存储库名称,因为它会破坏所有sklearn测试。 我也试过
import os, sys
CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
sys.path.append(os.path.dirname(CURRENT_DIR+"/scikit-learn"))
import sklearn
但它一直在导入标准库。如何解决这个问题?
答案 0 :(得分:0)
你能创建一个__init__.py
文件吗?
答案 1 :(得分:0)
不要将目录附加到sys.path
的 end ,而是将其插入开头。这将导致Python在尝试稍后出现的条目(包括包含stdlib的标准位置)之前搜索包和模块。
请注意,这只会覆盖之前未导入的外部模块。
答案 2 :(得分:0)
如何为自定义模块提供完全不同的名称(让我们称之为customslkearn
),然后:
import customsklearn as sklearn
如果找不到,您可以将目录中的目录添加到PYTHONPATH
或sys.path
。这当然会强制您更改其所在目录的名称,以避免名称冲突。希望你的环境能够接受。