Python和IBM Watson SDK:ImportError:没有名为ibm_watson的模块

问题描述

我正在尝试使用IBM Watson通过Python进行情感分析,但是却出现 No module 错误

我遵循了docs,我的代码如下:

import json
import constants
from ibm_watson import NaturalLanguageUnderstandingV1
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
from ibm_watson.natural_language_understanding_v1 import Features,SentimentOptions


class SentimentAnalysis:
    
    def __init__(self):
        authenticator = IAMAuthenticator(constants.IBM_WATSON_KEY)
        this.natural_language_understanding = NaturalLanguageUnderstandingV1(
            version='2020-08-01',authenticator=authenticator
        )
        this.natural_language_understanding.set_service_url(constants.IBM_WATSON_URL)
    
    def analyse_sentiments(self,data):
        response = this.natural_language_understanding.analyze(
            url='www.wsj.com/news/markets',features=Features(sentiment=SentimentOptions(targets=['stocks']))).get_result()
        assert isinstance(response,object)
        return response

if __name__ == "__main__":
    sentiment_analysis_object = SentimentAnalysis()
    data = ("I've seen you")
    response = sentiment_analysis_object.analyse_sentiments(data)
    print json.dumps(response,indent=2)

我正在使用的Python版本是Python 3.6.5 :: Anaconda,Inc。

解决方法

IBM Watson Python SDK的主页位于GitHub上。在那里,您可以找到几种不同的方式来安装Python模块并解决问题。

该GitHub存储库也有一个包含示例的目录,包括example for NLU。尝试运行它。

,

这对我有用

我的python指向anaconda3文件夹。所以,当我跑步

which python

输出为

/usr/local/anaconda3/bin/python

which python3也是如此。

我卸载了pip的现有ibm-watson安装并运行以下命令从conda软件包中安装

conda install -c conda-forge ibm-watson
Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /usr/local/anaconda3

  added / updated specs:
    - ibm-watson


The following NEW packages will be INSTALLED:

  ibm-watson         conda-forge/noarch::ibm-watson-4.7.0-pyh9f0ad1d_0


Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: | WARNING conda.core.path_actions:verify(962): Unable to create environments file. Path not writable.
  environment location: /Users/VMac/.conda/environments.txt

done
Executing transaction: done

要确认安装,我运行了以下命令

conda list | grep ibm

ibm-cloud-sdk-core        1.5.1              pyh9f0ad1d_0    conda-forge
ibm-watson                4.7.0              pyh9f0ad1d_0    conda-forge

我建议在安装最新版本之前先卸载ibm-watson的先前版本。

pip uninstall ibm-watson
conda uninstall ibm-watson

还要检查是否指向正确版本的python