python flask : No module named requests

标签 python flask

我在我的 Flask 应用程序中使用 requests 模块时遇到问题。我在同一目录级别有两个文件 rest_server.pyindependent.pyindependent.py 使用了 requests 模块,如果我直接运行它,它会正确执行。但是当我在 rest_server.py 中导入 independent.py 时,它显示以下错误 `

import independent
  File "/home/satwik/Desktop/angelhack/independent.py", line 5, in <module>
    import requests
ImportError: No module named requests`

我已经尝试了 pip install requests,它显示要求已经满足。我还尝试在 rest_server.py 中导入 requests 并发现它也能正确执行。 这是我的代码

**独立.py **

`import json
import os
import sys
import requests
sys.path.append('/home/satwik/Desktop/angelhack/comprehensive_search')

** rest_server.py **

`#!flask/bin/python
import six
from flask import Flask, jsonify, abort, request, make_response, url_for
from flask.ext.httpauth import HTTPBasicAuth
import independent

app = Flask(__name__, static_url_path="")`

我应该如何解决这个问题?

最佳答案

为什么会出现“没有名为...的模块”错误

你的两个文件有一个很大的不同:rest_server.py 包含一个shebang 行,而 independent.py 没有。

当你说你直接执行文件independent.py时,你键入python independent.py(我在这里假设,因为你没有指定)。这意味着您正在使用系统 python 解释器执行,它将查找在系统级别安装的模块。在系统范围内,您通过 pip install requests 安装了 requests 模块,因此 python 找到它,导入它并愉快地运行您的脚本。

当您执行文件 rest_server.py 时,您可以调用脚本的名称:./rest_server.py(假设权限设置正确)。在这种情况下,第一行 #!flask/bin/python(所谓的 shebang 行)指示使用不同的 python 解释器,该解释器包含在 flask 文件夹,我假设它包含一个虚拟环境。

您得到 no module named requests 因为该模块没有安装在 flask 虚拟环境中

如何修复错误

要解决此问题,只需在虚拟环境中安装requests 模块

您首先激活虚拟环境,然后安装您需要的模块:

$ source flask/bin/activate
$ pip install requests

然后您可以尝试再次执行 ./rest_server.py 并且应该正确导入 requests 模块。

有关 shebang 行的更多信息:https://en.wikipedia.org/wiki/Shebang_(Unix)

有关虚拟环境的更多信息:https://pypi.python.org/pypi/virtualenv

关于 python flask : No module named requests,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38282310/

相关文章:

flask - 访问 Flask 应用程序中 mongoengine 实例的属性

python - 处理棉花糖模式的多个变体

python - Flask 应用程序在测试时随机拒绝连接

python - 使用 REST 的 Google 日历 API - 每个身份验证只有一个请求?

python - 安排 SQLAlchemy 清除表中的所有行

Python 嵌套模块

Python 使用错误数量的参数调用类方法

python - 在 Python 中使用递归和 Yield 语句生成幂集

python - Numpy:在另一个 numpy 数组中创建一批 numpy 数组( reshape )

python - 将 excel 索引转换为 pandas 索引