If none of the above work, you can see which paths a specific python is checking with sys.path
:
$ /usr/bin/python
Python 3.7.6 (default, Feb 26 2020, 20:54:15)
[GCC 7.3.1 20180712 (Red Hat 7.3.1-6)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib64/python37.zip', '/usr/lib64/python3.7', '/usr/lib64/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages', '/usr/lib64/python3.7/site-packages', '/usr/lib/python3.7/site-packages']
If the lib is already immediately under one of these paths, check its permissions as pip may have installed it with only root owner and group permissions:
$ sudo ls -FsCla /usr/local/lib/python3.7/site-packages
total 8
0 drwxr-x---. 13 root root 274 Jun 5 14:06 ./
0 drwxr-x---. 3 root root 27 Jun 5 14:02 ../
4 drwxr-x---. 3 root root 4096 Jun 5 14:02 requests/
0 drwxr-x---. 2 root root 102 Jun 5 14:02 requests-2.23.0.dist-info/
$ sudo ls -FsCla /usr/local/lib/python3.7
total 0
0 drwxr-x---. 3 root root 27 Jun 5 14:02 ./
0 drwxr-x---. 3 root root 23 Jun 5 14:02 ../
0 drwxr-x---. 13 root root 274 Jun 5 14:06 site-packages/
Here's one way to fix it quickly:
$ sudo find /usr/local/lib/python3.7 -type d -exec chmod 755 {} +
$ sudo find /usr/local/lib/python3.7 -type f -exec chmod 644 {} +
Or you can use a virtualenv.