1

Update

By adding BeautifulSoup.py to my app source, this error was gone :)  

Thanks @Ned Deily, that took along time, but was fruitful

Ignore from here
I have just one instance of python 2.5 installed with BeautifulSoup, still no luck!, what I am I doing wrong, please help

bash-3.2$ ls -ltr /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages
total 1096
-rw-r--r--   1 Harit  admin   66866 May 28  2006 BeautifulSoup.py
-rw-r--r--   1 Harit  admin   26413 May 28  2006 BeautifulSoupTests.py
-rw-rwxr--   1 root   admin     119 Sep 18  2006 README
drwxr-xr-x  19 Harit  admin     646 Aug 20 23:58 django
-rw-r--r--   1 Harit  admin    1228 Aug 20 23:58 Django-1.3-py2.5.egg-info
-rw-r--r--   1 Harit  admin  333390 Aug 21 00:17 setuptools-0.6c11-py2.5.egg
-rw-r--r--   1 Harit  admin      30 Aug 21 00:17 setuptools.pth
-rw-r--r--   1 Harit  admin     215 Aug 21 00:22 easy-install.pth
-rw-r--r--   1 Harit  admin   33196 Aug 21 00:23 BeautifulSoupTests.pyc
-rw-r--r--   1 Harit  admin   67193 Aug 21 00:23 BeautifulSoup.pyc
-rw-r--r--   1 Harit  admin     970 Aug 21 00:23 BeautifulSoup-3.0.0-py2.5.egg-info
bash-3.2$ 

Ignore from here

I removed all versions of python from macport and system and re installed the python 2.7 version

bash-3.2$ python
Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> from BeautifulSoup import BeautifulSoup
>>>   

and all the paths also look good

bash-3.2$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/opt/local/bin  

and have just one version of python that has both Django and BeautifulSoup installed

bash-3.2$ cd /Library/Frameworks/Python.framework/Versions/Current/
Headers/   Mac/       Python     Resources/ bin/       include/   lib/       share/     
bash-3.2$ cd /Library/Frameworks/Python.framework/Versions/Current/lib/python2.7/lib
lib-dynload/ lib-tk/      lib2to3/     
bash-3.2$ cd /Library/Frameworks/Python.framework/Versions/Current/lib/python2.7/
Display all 641 possibilities? (y or n)
bash-3.2$ ls /Library/Frameworks/Python.framework/Versions/Current/lib/python2.7/site-packages/
BeautifulSoup-3.2.0-py2.7.egg-info  BeautifulSoupTests.pyc          easy-install.pth
BeautifulSoup.py            Django-1.3-py2.7.egg-info       setuptools-0.6c11-py2.7.egg
BeautifulSoup.pyc           README                  setuptools.pth
BeautifulSoupTests.py           django
bash-3.2$ 

but still when I run dev_appserver.py project it says it can not import module BeautifulSoup

Please help

Thank you

Ignore from below
I have BeautifulSoup installed on my mac and I can do the following:

bash-3.2$ python
Python 2.6.7 (r267:88850, Jul 27 2011, 11:54:59) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from BeautifulSoup import BeautifulSoup
>>>   

but when I run my djando app and try to run the code, it fails saying

Error was: No module named BeautifulSoup  

It seems I am using everything correctly

bash-3.2$ which python
/opt/local/bin/python

lrwxr-xr-x  1 root  admin        9 Aug 16 13:55 python -> python2.6  

bash-3.2$ cd /Library/Python/2.6/site-packages/
BeautifulSoup-3.0.0-py2.6.egg-info                  ipython-0.11-py2.6.egg/
BeautifulSoup.py                                    mercurial/
BeautifulSoup.pyc                                   mercurial-1.8.3_20110502-py2.6.egg-info/
BeautifulSoupTests.py                               nose-1.1.2-py2.6.egg/
BeautifulSoupTests.pyc                              paramiko-1.7.6-py2.6.egg
Django-1.3-py2.6.egg-info                           pip-1.0.2-py2.6.egg/
MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg  pycrypto-2.3-py2.6-macosx-10.6-universal.egg
README                                              pysqlite-2.6.3-py2.6.egg-info
django/                                             pysqlite2/
easy-install.pth                                    setuptools-0.6c11-py2.6.egg
easy_install                                        setuptools.pth
easy_install-2.6                                    xlrd/
hgext/                                              xlrd-0.6.1-py2.6.egg-info

How can I resolve this issue
Thanks

daydreamer
  • 87,243
  • 191
  • 450
  • 722

1 Answers1

4

You apparently have installed a second, newer instance of Python 2.6. Chances are that your Django app is installed and being run from another instance of Python 2.6, possibly the system Python 2.6 (/usr/bin/python or /usr/bin/python2.6). Type which python to see the path of the Python which has BeautifulSoup (/usr/local/bin/python perhaps?). You'll need to consolidate things; either install BeautifulSoup in the Python with Django or install Django in the Python with BeautifulSoup.

UPDATE: Since you are apparently running the Google App Engine dev_server, chances are that it is running under Python 2.5, not Python 2.6; at the moment, GAE is officially supported only with 2.5, as far as I know. Note Apple ships both a Python 2.6 and 2.5 with OS X 10.6. So you probably need to install Beautiful Soup in Python 2.5. Try:

easy_install-2.5 -U -v beautifulsoup==3.2

At the moment, you'll need to specify the version as there is currently a newer beta version of Beautiful Soup 4 that appears to be incompatible with Python 2.5.

UPDATE: You also seem to have more than one version of Python 2.5 installed. The path you show is for a 3rd-party Python, not the Apple-supplied Python 2.5. So my final suggestion is to try using the easy_install-2.5 for the Apple-supplied Python 2.5:

/usr/bin/easy_install-2.5 -U -v beautifulsoup==3.2
Ned Deily
  • 83,389
  • 16
  • 128
  • 151
  • But your findings confirm what Ned says. `/opt/local/bin/python` is not the standard installation - looks like the one installed by MacPorts. It will have its own `site-packages` directory, the one you show is for the system Python. – Daniel Roseman Aug 20 '11 at 22:16
  • I am a newbie, can you tell me how to fix this? uninstall the python form macports? – daydreamer Aug 20 '11 at 22:17
  • or where can I find the site-packages for the python installed by macports? – daydreamer Aug 20 '11 at 22:18
  • 1
    It looks like your shell PATH has been changed to put MacPorts first. Type `echo $PATH`. If `/opt/local/bin/python` comes first or before `/usr/bin`, then that's what causing it. You should try to figure out why you have the MacPorts python installed. You could delete it if you really don't need it. But if your MacPorts installation is up-to-date, you could should be able to change the default Python by this command `sudo port select python python26-apple` then re-installing BeautifulSoup by running something like `sudo /usr/bin/easy_install-2.6 BeautifulSoup` – Ned Deily Aug 20 '11 at 22:30
  • bash-3.2$ echo $PATH /opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/opt/local/bin:/opt/play-1.2.1/:/opt/play-1.2.1/:/opt/play-1.2.1/ , you are right, I uninstalled python and tried the commands you gave, No Luck :(, I also see that py-django and py26-beautifulsoup are still installed, shall I remove them too? – daydreamer Aug 20 '11 at 22:43
  • 1
    Have you established which python you are using when you run your Django app? That's where you need to have BeautifulSoup installed. How do you run it? – Ned Deily Aug 20 '11 at 23:07
  • I removed the all python versions I had and did a fresh install of python, django and BeautifulSoup, now things are fine on cmd prompt and echo $PATH is nice but when I run dev_appserver and see the output on localhost, I still see Error was: No module named BeautifulSoup, my path now is bash-3.2$ echo $PATH /Library/Frameworks/Python.framework/Versions/2.6/bin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/opt/local/bin:/opt/play-1.2.1/:/opt/play-1.2.1/ – daydreamer Aug 21 '11 at 00:39
  • Oh, wait a minute. You are running the Google App Engine dev_server? Sorry, I hadn't made that connection until now. As far as I know, that only runs under Python 2.5, not Python 2.6. See the updated answer. – Ned Deily Aug 21 '11 at 02:26
  • @NedDeily let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/2705/discussion-between-daydreamer-and-ned-deily) – daydreamer Aug 21 '11 at 03:59