我克隆了a repository of a Facebook research project,并尝试运行<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<?php get_template_part('templates/head'); ?>
<body <?php body_class(); ?>>
<?php get_template_part('templates/fb'); ?>
<?php get_template_part('templates/header'); ?>
<div id="home-about-us">
...
</div><!-- #home-about-us -->
<div id="home-pricing">
...
</div><!-- #home-pricing -->
<div id="home-news">
...
</div><!-- #home-news -->
</body>
<?php get_template_part('templates/footer' ); ?>
</html>
以启动自述文件中所述的程序。但是,我始终遇到以下问题python scripts/pipeline/interactive.py
。确实,我用ModuleNotFoundError
调用的文件需要另一个不在同一目录中的文件。
这是完整的错误:
python
这是.
├── drqa
│ ├── pipeline
│ │ └── __pycache__
│ ...
...
├── scripts
│ ├── convert
│ ├── distant
│ ├── pipeline
│ ├── reader
│ └── retriever
脚本:
interactive.py
我很担心,因为就Facebook研究团队所做的工作而言,这项工作可能很棒。我一定错过了什么。
这可能与以下事实有关:我对自述文件的这一部分不完全了解:
注意:requirements.txt包含所有可能需要的子集 包。根据您要运行的内容,可能需要安装 额外的软件包(例如spacy)。
如果您使用CoreNLPTokenizer或SpacyTokenizer,则还需要 分别下载Stanford CoreNLP罐子和spaCy en模型。 如果您使用Stanford CoreNLP,请在Java CLASSPATH中放入jar 环境变量,或通过编程方式设置路径:
from termcolor import colored from drqa import pipeline from drqa.retriever import utils
重要提示:默认标记器是CoreNLP,因此您需要在 您的CLASSPATH来运行README示例。
例如:
import drqa.tokenizers drqa.tokenizers.set_default('corenlp_classpath', '/your/corenlp/classpath/*')
。如果尚未下载CoreNLP,则可以运行:
export CLASSPATH=$CLASSPATH:/path/to/corenlp/download/*
验证它是否运行:
./install_corenlp.sh
为方便起见,文档阅读器,检索器和管道模块 如果未提供模型参数,将尝试加载默认模型。看到 下面提供了下载这些模型的信息。
如果我确实安装了from drqa.tokenizers import CoreNLPTokenizer tok = CoreNLPTokenizer() tok.tokenize('hello world').words() # Should complete immediately
,则因为我不知道./install_corenlp.sh
是什么而无法导出类路径。
答案 0 :(得分:0)
从根目录“。”中使用python调用脚本。并添加到您的环境中:
$ export PYTHONPATH=".":$PYTHONPATH
以便python可以知道'。'是source root