已安装BeautifulSoup,但dev_appserver运行时未被识别

1 投票
1 回答
2030 浏览
提问于 2025-04-17 00:01

更新

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

谢谢 @Ned Deily,花了很长时间,但终于有成果了。

从这里开始忽略
我只安装了一个 python 2.5 的版本,并且装了 BeautifulSoup,还是没成功!我到底哪里出错了,请帮帮我。

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$ 

从这里开始忽略

我把 macport 和系统里的所有 python 版本都卸载了,然后重新安装了 python 2.7 的版本。

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
>>>   

而且所有的路径看起来也都没问题。

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  

现在只有一个版本的 python,里面装了 DjangoBeautifulSoup

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$ 

但是当我运行 dev_appserver.py project 时,它说无法导入模块 BeautifulSoup

请帮帮我。

谢谢。

从下面开始忽略
我在我的 mac 上安装了 BeautifulSoup,并且可以做以下操作:

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
>>>   

但是当我运行我的 Django 应用并尝试运行代码时,它失败了,提示:

Error was: No module named BeautifulSoup  

看起来我一切都用得很正确。

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

我该如何解决这个问题
谢谢。

1 个回答

4

看起来你安装了一个新的 Python 2.6 的版本。很可能你的 Django 应用是从另一个 Python 2.6 的版本运行的,可能是系统自带的 Python 2.6(比如 /usr/bin/python/usr/bin/python2.6)。你可以输入 which python 来查看当前使用的 Python 路径,可能是 /usr/local/bin/python。你需要把这些东西整合一下,要么在有 Django 的 Python 里安装 BeautifulSoup,要么在有 BeautifulSoup 的 Python 里安装 Django。

更新:因为你似乎在运行 Google App Engine 的开发服务器,所以它可能是在 Python 2.5 下运行的,而不是 Python 2.6;据我所知,目前 GAE 只正式支持 Python 2.5。注意,苹果在 OS X 10.6 中同时提供了 Python 2.6 和 2.5。所以你可能需要在 Python 2.5 中安装 Beautiful Soup。试试:

easy_install-2.5 -U -v beautifulsoup==3.2

现在,你需要指定版本,因为目前有一个更新的 Beautiful Soup 4 的测试版,看起来和 Python 2.5 不兼容。

更新:你似乎还安装了多个版本的 Python 2.5。你显示的路径是一个第三方的 Python,而不是苹果自带的 Python 2.5。所以我最后的建议是尝试使用苹果自带的 Python 2.5 的 easy_install-2.5:

/usr/bin/easy_install-2.5 -U -v beautifulsoup==3.2

撰写回答