已安装BeautifulSoup,但dev_appserver运行时未被识别
更新
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,里面装了 Django
和 BeautifulSoup
。
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 个回答
看起来你安装了一个新的 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