Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ubuntu - How to install a Python module (BeautifulSoup) on Python 3.3 instead of Python 2.7?

I have this code (as written in BS4 documentaion):

  from bs4 import BeautifulSoup

When I run the script (using python3) I get the error:

  ImportError: No module named 'bs4'

So installed BeatifulSoup by:

  sudo pip install BeatifulSoup4

But when I try to run the script again I get the same error. Indeed BS4 is installed in:

  BeautifulSoup4 in /usr/local/lib/python2.7/dist-packages

But I want to install and use it with python3.3 (as there are other module which are not working with python2.7).

I tried with:

  virtualenv --python=/usr/bin/python2.7 /usr/bin/python3.3

and then install BS4 again, but nothing solved.

Any clue? Thanks in advance

like image 874
dragonmnl Avatar asked Oct 22 '14 15:10

dragonmnl


4 Answers

Ubuntu has beautifulsoup packaged. I found it by running apt-cache search

$ apt-cache search beautifulsoup

I see it has both a 2.7 and 3.3 version in the results. You can get the 3.3 version by installing python3-bs4

$ sudo apt-get install python3-bs4
like image 56
jrwren Avatar answered Oct 05 '22 18:10

jrwren


Use pip3

sudo pip3 install BeautifulSoup4

If you cannot run pip3 install it with the following:

sudo apt-get install python3-setuptools
sudo easy_install3 pip 


xxx@Ubuntu14:~/Desktop$ sudo pip3 install BeautifulSoup4
[sudo] password for xxx:
Downloading/unpacking BeautifulSoup4
  Downloading beautifulsoup4-4.3.2.tar.gz (143kB): 143kB downloaded
  Running setup.py (path:/tmp/pip_build_root/BeautifulSoup4/setup.py) egg_info for package BeautifulSoup4

Installing collected packages: BeautifulSoup4
  Running setup.py install for BeautifulSoup4
    Skipping implicit fixer: buffer
    Skipping implicit fixer: idioms
    Skipping implicit fixer: set_literal
    Skipping implicit fixer: ws_comma

Successfully installed BeautifulSoup4
Cleaning up...
xxx@Ubuntu14:~/Desktop$ python3
Python 3.4.2 (default, Oct  8 2014, 13:08:17)
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from bs4 import BeautifulSoup
>>> 
like image 43
blfuentes Avatar answered Oct 05 '22 18:10

blfuentes


A single command did the trick for me:

Try:

sudo apt-get install python3-bs4

and then import it as:

from bs4 import BeautifulSoup    
like image 44
Jimmy Avatar answered Oct 05 '22 18:10

Jimmy


I have often referenced the documentation link: https://docs.python.org/3/installing/

Some examples:

 python2   -m pip install SomePackage  # default Python 2 
 python2.7 -m pip install SomePackage  # specifically Python 2.7 
 python3   -m pip install SomePackage  # default Python 3 
 python3.4 -m pip install SomePackage  # specifically Python 3.4
like image 44
kyb Avatar answered Oct 05 '22 18:10

kyb