BeautifulSoup - TypeError: 'NoneType' object n'est pas appelable

J'ai besoin de faire mon code compatible avec python2.6 et BeautifulSoup 3. Mon code a été écrit à l'aide de python2.7 et dans ce cas à l'aide BS4. Mais quand j'essaie de le lancer à à presser serveur, j'obtiens cette erreur (il a python2.6 et bs3):

try:
    from bs4 import BeautifulSoup
except ImportError:
    from BeautifulSoup import BeautifulSoup

gmp = open(fname, 'r')
soup = BeautifulSoup(gmp)
p = soup.body.div.find_all('p')

p = soup.body.div.find_all('p')
TypeError: 'NoneType' object is not callable

Si je change d':

   p = soup.body.div.findAll('p')

puis, j'obtiens cette erreur:

p = soup.body.div.findAll('p')
TypeError: 'NoneType' object is not callable

Mise à jour de la levée d'erreur

  File "/home/user/openerp/7.0/addons/my_module/models/gec.py", line 401, in parse_html_data
    p = soup.body.div.findAll('p') #used findAll instead of find_all for backwards compatability to bs3 version
TypeError: 'NoneType' object is not callable

De toute façon, les deux approches de travail sur mon Ubuntu avec python2.7 et bs4, mais pas sur à presser. Est-il une autre différence entre ces versions que je ne vois pas de savoir et me donne cette erreur?

Il n'y a pas de point de tomber à from BeautifulSoup import BeautifulSoup (version 3) lors de l'utilisation de la version 4, seule la syntaxe.
Vous devriez voir que j'ai écrit, j'ai essayé d'utiliser la rétrocompatibilité de la syntaxe, mais toujours eu la même erreur.

OriginalL'auteur Andrius | 2014-10-28