为什么Python模块不能在命令行中工作?

为什么Python模块不能在命令行中工作?,python,Python,我的笔记本电脑中安装了Python 3.8.2。我安装了各种模块,并在下面的代码中导入它们 import wikipediaapi from gtts import gTTS import speech_recognition as sr import os import datetime import calendar import warnings import random # ignore any warnings war

我的笔记本电脑中安装了Python 3.8.2。我安装了各种模块,并在下面的代码中导入它们

 import wikipediaapi
    from gtts import gTTS
    import speech_recognition as sr
    import os
    import datetime
    import calendar
    import warnings
    import random
    # ignore any warnings
warnings.filterwarnings('ignore')


# audio -> command -> response (text) -> response (speech)

# records audio and return it as string

def recordAudio():
    r = sr.Recognizer  # creating a recognizer object

    # open the mic
    with sr.Microphone() as src:
        print('say something!')
        audio = r.listen(self=None, source=src, timeout=None, phrase_time_limit=None, snowboy_configuration=None)

    # use google speech recog

    data = ''
    try:
        r.recognize_google(self=None, audio_data=audio, key=None, language='en', show_all=False)
        print('You said: ' + data)
    except sr.UnknownValueError as s:
        print('Your audio could not be recognized' + s)
    except sr.RequestError as e:
        print('Request results from Google Speech Recog error' + e)

    return data


def assistantResponse(string):
    print(string)
    myObj = gTTS(text=string, lang='en, fr', slow=False)

    # save the converted audio to file.

    myObj.save('assistant_response.mp3')

    # Play the file
    os.system('start assistant_response.mp3')


# A function for wake word(s) or phrase
def wakeWord(string):
    WAKE_WORDS = ['hey Apoorva', 'okay Apoorva']  # A list of wake words

    text = string.lower()

    for phrase in WAKE_WORDS:
        if phrase in text:
            return True

    # IF wake word isn't found in the text, comp returns false.
    return False

    # A function to reutrn the current date


def getDate():
    now = datetime.datetime.now()
    my_date = datetime.datetime.today()
    weekday = calendar.day_name[my_date.weekday()]
    monthNum = now.month
    dayNum = now.day

    # a list of months

    month_names = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August',
                   'September', 'October', 'November', 'December']

    return 'Today is ' + month_names[monthNum - 1], ', ' + dayNum, 'st, ' + weekday


def greetingUser(string):
    GREETINGS_INPUT = ['hello', 'hola', 'hi', 'greetings', 'wassup']
    GREETINGS_OUTPUT = ['hello, matey!', 'oh hi!', 'hey there!']

    if GREETINGS_INPUT in string:
        rando = random.randint(0, 2)
        return GREETINGS_OUTPUT[rando]


def wikiSearch(string):
    wordList = string.split()

    for i in range(0, len(wordList)):
        if i + 3 <= len(wordList) - 1 and wordList[i].lower() == 'who' or 'what' and wordList[i + 1].lower() == 'is':
            return wordList[i + 2] + ' ' + wordList[i + 3]


while True:

    # Record Audio
    text = recordAudio()
    response = ''

    # Check fro wake word/phrase

    if (wakeWord(text)) == True:

        response = response + greetingUser(text)

        if ('date' in text):
            get_date = getDate()
            response = response + ' ' + get_date

        if ('who is' or 'what is' in text):
            person = wikiSearch(text)
            wiki = wikipedia.summary(person, sentences=2)
            response = response + ' ' + wiki

            assistantResponse(response)
导入wikipediaapi
从gtts导入gtts
将语音识别作为sr导入
导入操作系统
导入日期时间
导入日历
进口警告
随机输入
#忽略任何警告
警告。过滤器警告(“忽略”)
#音频->命令->响应(文本)->响应(语音)
#录制音频并将其作为字符串返回
def recordAudio():
r=高级识别器#创建识别器对象
#打开麦克风
将sr.麦克风()作为src:
打印(‘说点什么!’
音频=r.listen(self=None,source=src,timeout=None,短语\u time\u limit=None,snowboy\u配置=None)
#使用谷歌语音记录
数据=“”
尝试:
r、 识别谷歌(self=None,audio\u data=audio,key=None,language='en',show\u all=False)
打印('你说:'+数据)
除了sr.UnknownValues错误:
打印('无法识别您的音频'+s)
除sr.REQUESTERERROR为e外:
打印(‘谷歌语音记录错误的请求结果’+e)
返回数据
def assistantResponse(字符串):
打印(字符串)
myObj=gTTS(text=string,lang='en,fr',slow=False)
#将转换后的音频保存到文件。
myObj.save('assistant\u response.mp3')
#播放文件
操作系统('start assistant\u response.mp3')
#用于唤醒单词或短语的函数
def wakeWord(字符串):
唤醒词语=['hey Apoorva','okay Apoorva']#唤醒词语列表
text=string.lower()
对于WAKE_单词中的短语:
如果文本中有短语:
返回真值
#如果在文本中找不到wake单词,comp将返回false。
返回错误
#用于重新输入当前日期的函数
def getDate():
now=datetime.datetime.now()
my_date=datetime.datetime.today()
weekday=日历.day\u名称[我的日期.weekday()]
monthNum=now.month
dayNum=now.day
#月份表
月份名称=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”,
“九月”、“十月”、“十一月”、“十二月”]
返回'Today is'+month_names[monthNum-1],','dayNum',st',+weekday
def问候用户(字符串):
问候语\u输入=['hello'、'hola'、'hi'、'GREETINGS'、'wassup']
问候语输出=[“你好,伙计!”,“哦,你好!”,“你好!”
如果以字符串形式输入:
rando=random.randint(0,2)
返回问候语\u输出[rando]
def wikiSearch(字符串):
wordList=string.split()
对于范围(0,len(单词列表))中的i:
如果我+3
  • 使用
    pip3列表
    获取已安装模块的列表

  • 如果已安装的模块不在列表中,请尝试使用以下命令重新安装模块

    pip3安装维基百科api


  • 浏览此链接

    是否在正确的python版本上安装了模块<代码>pip安装
    pip3安装
    ?我使用了pip3安装