我尝试导入请求:

import requests

但我得到一个错误:

ImportError:没有模块命名请求


当前回答

向应用程序添加第三方包

关注此链接https://cloud.google.com/appengine/docs/python/tools/libraries27?hl=en#vendoring

步骤1:在项目的根目录中创建一个名为appengine_config.py的文件,然后添加以下行:

来自google.appengine.ext导入供应商

添加“lib”文件夹中安装的所有库。

供应商.add('lib')

步骤2:在项目的根目录下创建一个目录并将其命名为“lib”。

步骤3:使用pipinstall-t-lib请求

步骤4:部署到应用程序引擎。

其他回答

如果您使用的是Ubuntu,则需要安装请求

运行以下命令:

pip install requests

如果您面临权限拒绝错误,请在命令之前使用sudo:

sudo pip install requests

如果您使用anaconda作为python包管理器,请执行以下操作:

conda install -c anaconda requests

通过pip安装请求对我没有帮助。

在我的案例中,请求已经安装,但需要升级。以下命令成功了

$ sudo pip install requests --upgrade

在过去几个月里,我有过几次这样的问题。我还没有看到发布的fedora系统的好解决方案,所以这里还有另一个解决方案。我正在使用RHEL7,我发现了以下问题:

如果您通过pip安装了urllib3,并且通过yum安装了请求,那么即使您安装了正确的软件包,也会遇到问题。如果您通过yum安装了urllib3,并且通过pip安装了请求,则同样适用。以下是我解决问题的方法:

sudo pip uninstall requests
sudo pip uninstall urllib3
sudo yum remove python-urllib3
sudo yum remove python-requests

(确认已删除所有这些库)

sudo yum install python-urllib3
sudo yum install python-requests

请注意,这只适用于运行Fedora、Redhat或CentOS的系统。

来源:这个问题(在对这个答案的评论中)。这个github问题。

我的答案与@pi-k基本相同。在我的案例中,我的程序在本地运行,但未能在QA服务器上构建。(我怀疑devops的包的旧版本被阻止了,我的版本肯定太过时了)我刚刚决定升级所有的东西

$ pip install pip-review
$ pip-review --local --interactive