python ModuleNotFoundError: No module named 'bs4' even though you have the module

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


Tags:

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,

Latest Articles

  • python mysql install error: /bin/sh: 1: mysql_config: not found /bin/sh: 1: mariadb_config: not found /bin/sh: 1: mysql_config: not found mysql_config --version
  • FreePBX 17 How To Add a Trunk
  • Docker Container Onboot Policy - How to make sure a container is always running
  • FreePBX 17 How To Add Phones / Extensions and Register
  • Warning: The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes. solution
  • Cisco How To Use a Third Party SIP Phone (eg. Avaya, 3CX)
  • Cisco Unified Communication Manager (CUCM) - How To Add Phones
  • pptp / pptpd not working in DD-WRT iptables / router
  • systemd-journald high memory usage solution
  • How to Install FreePBX 17 in Linux Debian Ubuntu Mint Guide
  • How To Install Cisco's CUCM (Cisco Unified Communication Manager) 12 Guide
  • Linux Ubuntu Redhat How To Extract Images from PDF
  • Linux and Windows Dual Boot Issue NIC Won't work After Booting Windows
  • Cisco CME How To Enable ACD hunt groups
  • How to install gns3 on Linux Ubuntu Mint
  • How to convert audio for Asterisk .wav format
  • Using Cisco CME Router with Asterisk as a dial-peer
  • Cisco CME How To Configure SIP Trunk VOIP
  • Virtualbox host Only Network Error Failed to save host network interface parameter - Cannot change gateway IP of host only network
  • Cisco CME and C7200 Router Testing and Learning Environment on Ubuntu 20+ Setup Tutorial Guide