当我使用python3运行python脚本时,出现以下错误:
回溯(最近一次通话最近一次):文件“ rea_scrape.py”,第2行,在 导入请求ModuleNotFoundError:没有名为“ requests”的模块
当我运行pip3 install requests
时,很明显已经安装了请求。
已满足要求:中的请求 /Library/Python/2.7/site-packages(2.18.4)要求已经 满意:/Library/Python/2.7/site-packages中的certifi> = 2017.4.17 (根据要求)(2018.4.16)已满足要求: /Library/Python/2.7/site-packages中的chardet <3.1.0,> = 3.0.2(来自 请求(3.0.4)已满足要求:idna <2.7,> = 2.5 in /Library/Python/2.7/site-packages(来自请求)(2.6)要求 已经满足:urllib3 <1.23,> = 1.21.1 in /Library/Python/2.7/site-packages(来自请求)(1.22)
但是,仔细检查消息似乎表明pip3正在安装Python2.7的软件包,这不是我的意图。
结果是我使用pip3
命令安装的任何内容都无法导入到python3
运行的脚本中。
我该如何解决?
仅供参考,我正在使用MacOS High Sierra。
答案 0 :(得分:3)
您的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
也请查看以下问题:pip3.4 -V refers to python2.7 installation 这个问题应该可以完全回答您。