pip3没有为python3安装软件包

时间:2018-07-24 04:51:13

标签: python python-3.x python-2.7

当我使用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。

1 个答案:

答案 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

  1. 卷曲https://bootstrap.pypa.io/get-pip.py | python3
  2. python3 根据这个答案:How to install pip for Python 3 on Mac OS X?

也请查看以下问题:pip3.4 -V refers to python2.7 installation 这个问题应该可以完全回答您。