Django/SpaCy: Невозможно импортировать модуль вне его корневого каталога в Python

Я зашел в тупик, пытаясь импортировать и вызвать этот пакет NLP из-за пределов его корневого каталога https://github.com/msg-systems/coreferee. Я сомневаюсь, что это имеет какое-то отношение к пакету, и, вероятно, все связано с моим непониманием того, как работают модули Python.

Вот сценарий: я клонировал coreferee в подкаталог моего проекта Django (/api/libs/coreferee). Если я перейду в корневой каталог пакета, я смогу нормально запустить следующий тестовый сценарий:

test.py в корне модуля coreferee по адресу ./api/libs/coreferee

import spacy
import coreferee
nlp = spacy.load("en_core_web_trf")
nlp.add_pipe('coreferee') # passes the coreferee module as transformer
doc = nlp("Although he was very busy with his work, Peter had had enough of it. He and his wife decided they needed a holiday. They travelled to Spain because they loved the country very much.")
doc._.coref_chains.print()

Однако, если я пытаюсь импортировать coreferee из любого другого места в моем приложении, я получаю плохую ссылку и тестовый сценарий выдает ошибку.

test.py at ./api/

import spacy
from api.libs import coreferee
spacy.prefer_gpu()
nlp = spacy.load("en_core_web_trf") # en_core_web_lg
nlp.add_pipe('coreferee') # this produces an error

ValueError: [E002] Can't find factory for 'coreferee'

Я в тупике.

Вернуться на верх