I successfully install different modules using pip and they are shown in the
pip list
such as:
beautifulsoup4 (4.4.1)
requests (2.10.0)
Scrapy (1.1.0)
From Terminal
However, whenever I try to import it
import beautifulsoup4
/ import bs4
or import Scrapy
or import requests
the following error is shown:
$ python
Python 2.7.5 (default, Mar 9 2014, 22:15:05)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named requests
Update: if I launch python when I am at the correct site-packages directory
$ pwd
/usr/local/lib/python2.7/site-packages
$ python
Python 2.7.5 (default, Mar 9 2014, 22:15:05)
>>> import requests
>>> import bs4
>>> import scrapy
Then it works. This would solve the issue if writing directly on the Terminal. However, I have no clue about how to make it work inside a file.py, which will be the normal use.
As far as I know, I only have Python2.7 installed.
From file.py
If I have a file.py saved in some local folder. This contains, for instance
import requests
from bs4 import BeautifulSoup
when I try
python file.py
I get the same error.
Approach
Same happens with any other module from the list.
I would think pip is installing them in a directory that Python is not reading, but as per what I read, it is the correct one.
They are all installed here:
/usr/local/lib/python2.7/site-packages
Output requested by Padraic Cunningham:
$ which -a pip
/usr/local/bin/pip
$ which -a python
/usr/bin/python
/usr/local/bin/python
Output requested by leovp:
$ pip -V
pip 8.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
Threads already checked
I have checked the following threads, but unfortunately they did not help me to solve the issue:
Any ideas of what the problem is?
Question&Answers:
os