我是靠谱客的博主 不安小蘑菇,最近开发中收集的这篇文章主要介绍安装chatterbot的填坑过程zipfile.BadZipFile: File is not a zip file,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

网上你看到的教程都是这样安装的,使用

pip install chatterbot

恩,如果你没有任何错误,并且能够顺利运行,那么恭喜你,你的运气太好了,可能你使用的的linux系统吧,又或者你并不是在安装了Anaconda后安装chatterbot

 

本文要介绍的是使用window系统,安装Anaconda后安装chatterbot的踩坑过程,顺便插一句,python版本之间兼容很不好,安装库时,一定要找到python对应版本的库,不然,出错到你怀疑人生

 

本文介绍所操作的环境是:

window server2012系统

python 3.7

Anaconda4.7.12

 

步骤如下:

一   没有安装Anaconda的可以安装一下,已经安装过或者装过python的,可以跳过,直接进入步骤二

Anaconda的下载地址为:https://www.anaconda.com/distribution/

现在我们要安装的版本如下图:

 

下载后,双击后安装界面提示安装即可,你可以自定义安装目录,我把它安装在C:AnacondaInstall,注意,安装到这一步时,需要勾选Add  Anaconda to system PATH  environment variable,如下图,接着等待安装完成

 

安装完成后,验证安装是否成功

按住window+r键,输入cmd ,弹出dos命令行窗体,输入conda --version后出现版本号,代表安装成功

 

步骤二:正式安装chatterbot

2.1  按住window+r键,输入cmd ,弹出dos命令行窗体,输入 pip install chatterbot   ,正常情况下,下载的chatterbot会自动匹配你的python版本,并且安装的chatterbot是当前发布的最新的版本,如果出现问题,可以考虑一下chatterbot的版本是否过高了,又或者可以采取离线安装,不过还是建议在线安装,安装它需要很多的依赖库,chatterbot的各个版本下载地址如下:https://pypi.org/project/ChatterBot/1.0.4/#history

 

耐心等待,下载的速度慢得要命,经常下载到一半后失败,如下图:

没办法,重新输入pip install chatterbot安装,希望这次网络会好一点

在下载的过程中,从下图输出的信息可以看到,如果你使用Anaconda的方式安装python,那么Anaconda默认帮我们安装了nltk和pyyaml,  这样就会导致很多问题,最直接的是chatterbox安装失败,又或者安装成功了,运行出现错误,到了这里,你需要留个心眼了,如果折腾了好久(我所指的好久是把全网的解决办法都试过了的情况下)都没有把chatterbox安装好,可以卸载了nltk或者pyyaml并安装其它版本试试

 

经过漫长的等待,没有报错,如下图,算是初步安装了chatterbot,为什么说是初步呢!不代表运行没有出现错误 

不信,跟着我一起导入包试试吧!

接着输入python,然后输入导入包命令

from chatterbot import ChatBot

从上图中,可以看到,出错了,缺少chatterbot_corpus模块

好,那么我们现在就装chatterbot_corpus库,输入quit()命令退出python环境,接着输入

pip install chatterbot_corpus 进行安装

接着,你会看到你不想看到的错误信息,如下图:

为了别人出现这样的错误能够搜索到,我把错误信息拷贝粘贴在这里:

ERROR: chatterbot 1.0.5 has requirement pyyaml<5.2,>=5.1, but you'll have pyyaml
 3.13 which is incompatible.

annot uninstall 'PyYAML'. It is a distutils installed project and thus w
 accurately determine which files belong to it which would lead to only
l uninstall.
 

解决办法,在命令pip install chatterbot_corpus后面加上

--ignore-installed

完整命令为: pip install chatterbot_corpus --ignore-installed

忽略依赖安装,如下图:

为了别人能够搜索到,我把红色报错信息也拷贝黏贴一下:

ERROR: chatterbot 1.0.5 has requirement pyyaml<5.2,>=5.1, but you'll have pyyaml
 3.13 which is incompatible.

接着再导入包试试,发现导入包没有报错了,如下图:

到了这里,不用以为完成了,拷贝下面最简单的代码测试一下就知道了:

(注意:如果是使用记事本的方式编写代码,那么一定要另存为utf-8格式的编码,因为使用微软的记事本编写的文本默认格式是gbk的,还有,为了测试能够通过,代码中尽量不要出现中文,具体的还是编码问题,训练中的文本一定不能有中文,因为如果要训练中文的,还要额外导入中文的包)

# -*- coding: utf-8 -*-
from chatterbot import ChatBot
 
# Create a new chat bot named Charlie
chatbot = ChatBot(
    'Charlie',
    trainer='chatterbot.trainers.ListTrainer'
)
 
chatbot.train([
    "Hi, can I help you?",
    "Sure, I'd like to book a flight to Iceland.",
    "Your flight has been booked."
])
 
# Get a response to the input text 'How are you?'
response = chatbot.get_response('I would like to book a flight.')
 
print(response)

运行如下图:

为了别人能够搜索到,我把错误信息拷贝粘贴一下:

AttributeError: 'ChatBot' object has no attribute 'train'

发生这样错误是因为代码不是这样写了,上面的代码是早期chatterbot版本的写法,现在测试使用的版本的写法如下:

from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer

# Create a new chat bot named Charlie
chatbot = ChatBot('Charlie')

trainer = ListTrainer(chatbot)

trainer.train([
    "Hi, can I help you?",
    "Sure, I'd like to book a flight to Iceland.",
    "Your flight has been booked."
])

# Get a response to the input text 'I would like to book a flight.'
response = chatbot.get_response('I would like to book a flight.')

print(response)

 

代码替换后重新运行

 

 

如果xx.train后面的列表是中文的训练数据,那么会报这样的错误:

 

zipfile.BadZipFile: File is not a zip file

又或者是:

[nltk_data]     远程主机强迫关闭了一个现有的连接

强迫关闭了一个现有的连接是因为你下载nltk自然语言处理的数据包遭到拒绝,重启电脑再执行下面的操作

 

上面的代码运行的时候,时间很长,给人的感觉是卡了好久,其实是第一次运行,它会去下载nltk自然语言处理的数据包和其它杂七杂八相关的文件到C:UsersAdministratorAppDataRoaming目录下(其中Roaming是隐藏目录,怎么让它显示可以百度),你的可能不是这个目录,这需要你看一下,上面输出的信息指向的是哪个目录,具体是哪个目录和如何下载nltk数据包,可以参考:https://blog.csdn.net/Jiajikang_jjk/article/details/83716939

如果你的网络很好,那么一点问题都没有,如果网络不好,那么就需要离线下载了,下载链接如下:

链接:https://pan.baidu.com/s/1m2OX7GBlVf8q-zk21C7j9A 
提取码:2zoz

 

最后运行结果如下:

 

 

好了,到了这里,安装和测试全部完毕

 

如果能帮到你,请点一个赞,如果帮不了你,祝你好运

 

 

 

最后

以上就是不安小蘑菇为你收集整理的安装chatterbot的填坑过程zipfile.BadZipFile: File is not a zip file的全部内容,希望文章能够帮你解决安装chatterbot的填坑过程zipfile.BadZipFile: File is not a zip file所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部