简体   繁体   中英

Can not install chatterbot in Anaconda

While installing chatterbot in Anaconda using Python 3.7 I am getting the following error:

Found existing installation: PyYAML 3.13 Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

Installing chatterbot in conda environment using Python 3.7

  • Create new conda environment with Python 3.7
conda create --name chatterbot_example python=3.7
  • Activate the environment:
source activate chatterbot_example
  • Install chatterbot and chatterbot-corpus inside the environment:
pip install chatterbot
pip install chatterbot-corpus
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer

chatbot = ChatBot('Ron Obvious')

# Create a new trainer for the chatbot
trainer = ChatterBotCorpusTrainer(chatbot)

# Train the chatbot based on the english corpus
trainer.train("chatterbot.corpus.english")

# Get a response to an input statement
print(chatbot.get_response("Hello, how are you today?"))
  • Run the program:
python example.py

Output:

python example.py
[nltk_data] Downloading package stopwords to /home/cefalo/nltk_data...
[nltk_data]   Package stopwords is already up-to-date!
[nltk_data] Downloading package averaged_perceptron_tagger to
[nltk_data]     /home/cefalo/nltk_data...
[nltk_data]   Package averaged_perceptron_tagger is already up-to-
[nltk_data]       date!
Training ai.yml: [####################] 100%
Training botprofile.yml: [####################] 100%
Training computers.yml: [####################] 100%
Training conversations.yml: [####################] 100%
Training emotion.yml: [####################] 100%
Training food.yml: [####################] 100%
Training gossip.yml: [####################] 100%
Training greetings.yml: [####################] 100%
Training health.yml: [####################] 100%
Training history.yml: [####################] 100%
Training humor.yml: [####################] 100%
Training literature.yml: [####################] 100%
Training money.yml: [####################] 100%
Training movies.yml: [####################] 100%
Training politics.yml: [####################] 100%
Training psychology.yml: [####################] 100%
Training science.yml: [####################] 100%
Training sports.yml: [####################] 100%
Training trivia.yml: [####################] 100%
Tell me a joke

System information:

  • OS : Ubuntu 16.04 LTS
  • Processor : Intel® Core™ i7-4600M

Conda version information:

conda --version
conda 4.5.11

Installed packages:

attrs==19.1.0
blis==0.2.4
certifi==2019.3.9
chardet==3.0.4
ChatterBot==1.0.5
chatterbot-corpus==1.2.0
cymem==2.0.2
idna==2.8
jsonschema==3.0.1
mathparse==0.1.2
murmurhash==1.0.2
nltk==3.4.1
numpy==1.16.3
Pint==0.9
plac==0.9.6
preshed==2.0.1
pymongo==3.8.0
pyrsistent==0.15.2
python-dateutil==2.7.5
pytz==2019.1
PyYAML==3.13
requests==2.22.0
six==1.12.0
spacy==2.1.4
SQLAlchemy==1.2.19
srsly==0.0.5
thinc==7.0.4
tqdm==4.32.1
urllib3==1.25.2
wasabi==0.2.2

Update on the solution @arsho shared.

For conda versions before 4.6, use:

  • Windows: activate snakes
  • macOS & Linux: source activate snakes

For conda versions 4.6 and later, use:

  • Windows, macOS, Linux: conda activate snakes

Conda YAML

A simpler install would be to use a YAML, which also will be significantly faster since all Conda package builds are precompiled:

chatterbot.yaml

name: chatterbot
channels:
  - conda-forge
dependencies:
  ## python core
  - python=3.7
  - pip

  ## dependencies
  - python-dateutil=2.8
  - pytz
  - pyyaml >=3.12,<4.0
  - six >=1.5
  - spacy=2.1
  - sqlalchemy=1.3

  ## pip installs
  - pip:
    - chatterbot
    - chatterbot-corpus

Install

conda env create -n chatterbot -f chatterbot.yaml

Run

Note that to run the example in @arsho's answer , I required first

conda activate chatterbot

## install English (only needed once)
python -m spacy download en

Then python example.py works similarly.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM