In this case I am executing using "python3" but what you find in cases like this can be surprising.
The most common issues are that someone has a module for python 2 "pip" and doesn't realize they need "pip3" to install it for python3, but this is not one of those cases.
ModuleNotFoundError: No module named 'bs4'
OK maybe we didn't install it for python3?
[user@host]# pip3 install bs4
No, we did install it for python3 because below it says it is already installed "Requirement already satisfied"
Requirement already satisfied: bs4 in /usr/lib/python3.4/site-packages (0.0.1)
Requirement already satisfied: beautifulsoup4 in /usr/lib/python3.4/site-packages (from bs4) (4.6.3)
You are using pip version 18.1, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
But wait look carefully that it is installed for "python3.4". Let's see what python3 actually refers to (since python3 is really a symlink to a specific 3.x version).
python3: /usr/bin/python3.6 /usr/bin/python3.6m /usr/bin/python3.4m /usr/bin/python3.4m-config /usr/bin/python3 /usr/bin/python3.4m-x86_64-config /usr/bin/python3.4 /usr/bin/python3.4-config /usr/lib/python3.6 /usr/lib/python3.4 /usr/lib64/python3.6 /usr/lib64/python3.4 /usr/include/python3.6m /usr/include/python3.4m /usr/share/man/man1/python3.1.gz
[user@host]# ls -al /usr/bin/python3
OK so we see that python3 really points to python3.6
lrwxrwxrwx 1 root root 9 Sep 12 11:33 /usr/bin/python3 -> python3.6
There are a few ways to resolve this, one of the easiest ones may be to symlnk python3 back to python3.4 or to uninstall python3.6
In my case of Centos there is no pip3.6 installed nor is it available as a package so I am electing to remove python3.6 to solve this issue.
In my case here is what you need to type:
yum remove python36-*
ln -s --force /usr/bin/python3.4m /usr/bin/python3
python, modulenotfounderror, module, bs, modulein, executing, quot, surprising, pip, doesn, install, ok, didn, user, installed, requirement, usr, lib, packages, beautifulsoup, upgrading, via, upgrade, refers, symlink, bin, config, _, gz, ls, lrwxrwxrwx, sep, resolve, easiest, symlnk, uninstall, centos, electing, yum, ln,