电脑故障问答网

 找回密码
 立即注册
查看: 77|回复: 1

Windows下加载OpenNRE报错:path = os.fspath(path ...

[复制链接]

1

主题

3

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2022-12-10 08:40:09 | 显示全部楼层 |阅读模式
1.前言

OpenNRE是清华大学自然语言处理与社会人文计算实验室(THUNLP)推出的一款开源的神经网络关系抽取工具包,包括了多款常用的关系抽取模型。但使用环境为Linux,对于不熟悉Linux系统的萌新来说是一个挑战。若强行在Windows运行将会报错
path = os.fspath(path)和TypeError: expected str, bytes or os.PathLike object, not NoneType等;这是由于原pretrain.py文件中使用wget下载数据,如:


而众所周知wget这个工具是Linux、Unix下才能使用的,为了在Windows环境中成功运行OpenNRE,我们将在Windows系统下安装wget及修改原pretrain.py文件。这里是自己做下笔记,以方便自己以后使用的时候可以随时找到。这里假设已经安装好了OpenNRE,若没有请点这里查阅文档下载安装。
2.wget安装

点击下载
下载好之后解压到一个文件夹下面,文件夹的位置呢,随便放。但是里面有一个.exe文件。要把这个文件呢放到C:\Windows\System32这个目录下面。
接下来呢就是配置环境变量了
右键单击我的电脑=>属性=>高级系统设置=>环境变量=>点击path=>点击编辑
比如说,我把下载的文件解压到了F:AMXM\wget,那么我的变量路径就就是F:AMXM\wget,变量名称呢你可以写成HOME,前提是环境变量里面没有这个变量名,你也可以写成WGETRC。然后点击确定就可以了。
这样就可以下载整个网站了,在cmd命令行里面输入命令
wget --V

出现上述则表示安装成功!
3.修改原pretrain.py文件

Windows在导入OpenNRE的时候会报错:TypeError: expected str, bytes or os.PathLike object, not NoneType
原因:OpenNRE中的pretrain.py中的第13行在windows运行出错(os.getenv(‘HOME’)获取用户主文件地址,而Windows中没有home地址,故:
在第13行处将
default_root_path = os.path.join(os.getenv('HOME'),'.opennre')更改为
default_root_path = os.path.join(str(Path.home()), 'opennre')并在原文件开头处添加
from pathlib import Pathlike this:


最终成功在Windows环境下运行:

回复

使用道具 举报

0

主题

1

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2025-4-11 17:00:03 | 显示全部楼层
不错 支持一个了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

云顶设计嘉兴有限公司模板设计.

免责声明:本站上数据均为演示站数据,如购买模板可以上DISCUZ应用中心购买,欢迎惠顾.

云顶官方站点:云顶设计 模板原创设计:云顶模板   Powered by Discuz! X3.4© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表