我正在创建一个Flask Web应用程序,并且我尝试使用BeautifulSoup进行一些html解析。我的应用程序文件夹中有一个虚拟环境。
当我安装bs4时,我首先使用source venv/bin/activate
激活我的虚拟环境。
然后我使用pip install beautifulsoup4
。该软件包成功安装到我的site-packages文件夹,我可以看到软件包和所有内容的权限都没问题。我可以用pip卸载软件包并重新安装就好了。
在我的一个文件中,我在顶部from bs4 import BeautifulSoup
处有这一行。总是会导致错误:ImportError:没有名为bs4的模块。
我确定这是一件简单的事我做错了,但对于我的生活,我无法弄清楚。
答案 0 :(得分:0)
问题是您没有从虚拟环境运行Flask。因此,当然,您在该虚拟环境中安装的任何内容都无法使用。
由于您还没有告诉我们 您是如何运行Flask的,因此很难准确地告诉您您做错了什么。
但是,如果您阅读了文档中的Deployment Options部分,则会解释如何使用虚拟环境。例如,如果您将Apache与mod_wsgi一起使用,则可以将这些行添加到.wsgi
文件的顶部:
activate_this = '/path/to/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
基本思路与其他运行服务器的方式类似(除了对venvs内置支持的部署选项,它只是简单的,或纯Python服务器,你可以在其中运行服务器与Flask一样的venv)。
或者,如果您乐意在系统范围内安装Flask并在默认系统环境中运行服务器,那么您也可以在系统范围内安装beautifulsoup4 ......