Python在使用pipenv安装requests后出现"No module named 'requests'"错误

3

我想在 Python 3 的 pipenv 中安装 requests 库,尝试过以下两个命令:

  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)

当我使用import requests运行我的Python文件时,一切正常。但是当我使用pipenv run python mypythonscript.py运行时,会出现错误信息:ModuleNotFoundError: No module named 'requests'。请问我缺少什么?


pipenv run python 使用的是哪个版本的 Python? - John Gordon
pipenv 运行 Python 3.7。 - cryptograthor
还有pip3呢?pip3 --version - phd
2
尝试使用“pipenv run pip install requests”命令。否则,您将安装“requests”到用户的“site-packages”,但是您在虚拟环境中运行脚本,其中包是分开的,并且未安装“requests”。 - Mikhail Burshteyn
@MikhailBurshteyn!你是英雄!谢谢。 - cryptograthor
1个回答

6
这里的问题是pip3 install requests在pipenv虚拟环境之外运行,它是在虚拟环境之外安装的,因此在虚拟环境中运行的代码无法找到requests库。
正确的方法是通过pipenv install requests将库安装到虚拟环境中,并将requests添加到Pipfile中。如果您想临时安装而不保存到Pipfile,则可以运行pipenv run pip install requests

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接