当前位置: 首页 > 工具软件 > MITIE > 使用案例 >

windows安装MITIE遇到的问题

黄意智
2023-12-01

折腾了大半天,终于基本搞定(目前没出什么问题)

windows本安装MITIE,之前在linux上一个pip install搞定的事,在windows上搞了好久,网上很多帖子写了一些方法,大家可以参考:

https://blog.csdn.net/liu765023051/article/details/83107254

https://www.kancloud.cn/ztl_ggg/java/895532

https://blog.csdn.net/wang_kill/article/details/88797418

https://blog.csdn.net/qq_42142152/article/details/82962914

如果上述还不能解决你的问题,可以参考下我的

(1)依赖组件

Visual Studio我没有安装,安装的是Visual C++ Build Tools,之前搜到的某个帖子写的,可以不装Visual Studio,但是这个Visual C++ Build Tools其实也不小,安完3G+。

cmake要装,MITIE的setup.py文件里需要验证cmake并使用。官网https://cmake.org/download/有自动化安装包,或者自己下zip包配下环境变量即可,参考上面的帖子。

boost我没装,不知道为什么也能用,可能以后会遇到问题吧,有待观察。

(2)遇到的报错

Traceback (most recent call last):
  File "D:/WorkProject/MITIE/test.py", line 4, in <module>
    out = subprocess.check_output(['cmake', '--version'])
  File "D:\software\Anaconda3\envs\env_rasa\lib\subprocess.py", line 395, in check_output
    **kwargs).stdout
  File "D:\software\Anaconda3\envs\env_rasa\lib\subprocess.py", line 472, in run
    with Popen(*popenargs, **kwargs) as process:
  File "D:\software\Anaconda3\envs\env_rasa\lib\subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "D:\software\Anaconda3\envs\env_rasa\lib\subprocess.py", line 1178, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。

 和

windows subprocess.check_output returned non-zero exit status 1

 

看了下源码https://github.com/mit-nlp/MITIE,其实都是一回事,安装MITIE时,会在当前环境下执行windows的cmd命令(cmake相关),命令结果返回值是1(执行异常)

如:

subprocess.check_call(['cmake', '..', '-A', 'x64'])

开始时候按照网上说的将subprocess.py中的Popen类初始化方法中的shell参数默认值改为True,这个参数如果是False,程序会将上面输入的字符串当做文件来读取命令再执行(网上查的,没有验证),但是改完依旧报错。。。

 

    def __init__(self, args, bufsize=-1, executable=None,
                 stdin=None, stdout=None, stderr=None,
                 preexec_fn=None, close_fds=True,
                 shell=False, cwd=None, env=None, universal_newlines=None,
                 startupinfo=None, creationflags=0,
                 restore_signals=True, start_new_session=False,
                 pass_fds=(), *, encoding=None, errors=None, text=None):
        """Create new Popen instance."""
 

我的cmake环境变量配置是对的,cmd命令窗口可以执行cmake相关指令,但是发现在pycharm的terminal里面无法运行cmake指令,故猜测可能是pycharm没有读取到windows环境变量。

两条路 :

1 改pycharm配置

2 在cmd窗口安装

选了方案2

首先,通过git下载了MITIE源码到本地

然后,在cmd命令行启动本地虚拟环境(我用的conda)

最后,在cmd窗口执行python setup.py build+install 搞定

注意,安装完cmake并配置完环境变量再打开cmd,不然可能读不到环境变量。

回想最开始也是通过cmd窗口pip安装MITIE,但是卡在setup.py下面的代码里

out = subprocess.check_output(['cmake', '--version'])

这句是要检查cmake版本,这个check_output无论如何都执行不正确,导致没法继续安装,后没办法在源码文件里将这一步注掉了(前提是确定自己的cmake版本确实满足要求>= 3.1.0)

总之安装上了,使用时会报tensorflow部分的Could not load dynamic library 'cudart64_100.dll'; dlerror: cudart64_100.dll not found,是不过暂时不影响使用。

关于pycharm相关配置应该也容易解决,不过折腾了大半天,后续有时间再研究下。

 

 

 

 类似资料: