当我使用 python3 运行 python 脚本时,出现以下错误:
Traceback (most recent call last): File "rea_scrape.py", line 2, in import requests ModuleNotFoundError: No module named 'requests'
当我运行pip3 install requests
时很明显requests已经被安装了。
Requirement already satisfied: requests in /Library/Python/2.7/site-packages (2.18.4) Requirement already satisfied: certifi>=2017.4.17 in /Library/Python/2.7/site-packages (from requests) (2018.4.16) Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /Library/Python/2.7/site-packages (from requests) (3.0.4) Requirement already satisfied: idna<2.7,>=2.5 in /Library/Python/2.7/site-packages (from requests) (2.6) Requirement already satisfied: urllib3<1.23,>=1.21.1 in /Library/Python/2.7/site-packages (from requests) (1.22)
但是,仔细检查消息似乎表明 pip3 正在安装 Python2.7 的软件包,这不是我的意图。
结果是我没有使用 pip3
安装任何内容。命令可以导入到 python3
运行的脚本中.
如何解决这个问题?
仅供引用,我正在使用 MacOS High Sierra。
最佳答案
看起来您的 pip3 安装指向了错误的 python 版本。如果您查看 /usr/local/bin
中的文件,您可以看到一个名为 pip3 的文件。在那里你可以看到它所指向的 python 版本。就我而言,该文件的内容如下:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from pip import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
在您的情况下,第一行必须是 #!usr/bin/python2
。您可以通过在终端上使用 pip3 -V
来验证这一点。
解决此问题的另一种方法是完全卸载 pip3 安装并再次重新安装 python3-pip
- curl https://bootstrap.pypa.io/get-pip.py | python3
- python3 来自这个答案:How to install pip for Python 3 on Mac OS X?
另外请看看这个问题:pip3.4 -V refers to python2.7 installation 这个问题应该能完整地回答你。
关于python - pip3 没有安装 python3 的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51490675/