首页 > 解决方案 > Python:“没有名为'requests'的模块”在pipenv中的pip3安装请求之后

问题描述

我正在尝试使用 Python 3 在 pipenv 中安装库请求。我尝试过:

  1. pip install requests,在忘记pip只为 Python 2 安装之前,导致,
  2. pip3 install requests, 保证返回

Requirement already satisfied: requests in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (2.19.1)
Requirement already satisfied: idna<2.8,>=2.5 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from requests) (2.7)
Requirement already satisfied: urllib3<1.24,>=1.21.1 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from requests) (1.23)
Requirement already satisfied: certifi>=2017.4.17 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from requests) (2018.8.24)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from requests) (3.0.4)

当我使用 运行我的 python 文件时import requests,一切正常,但是当我运行时pipenv run python mypythonscript.py,我得到了错误ModuleNotFoundError: No module named 'requests'。请告知我所缺少的。

标签: pythonpippipenv

解决方案


这里的问题是pip3 install requests在 pipenv 的 virtualenv 之外运行,它安装在 virtualenv 之外,因此requests在 virtualenv 内部运行的代码中找不到库。

将库安装到 virtualenv 中的正确方法是pipenv install requests,它也会添加requests到您的 Pipfile 中。如果你想临时安装它而不保存到 Pipfile 中,你可以运行pipenv run pip install requests.


推荐阅读