【问题标题】:pip install does not install module correctlypip install 没有正确安装模块
【发布时间】:2021-04-13 20:51:29
【问题描述】:

我在安装 pip 时遇到了一些问题,而且我是 python 新手:

首先,这是我的python版本:

(base) becker@tsf-436-wpa-5-126 ~ % which python3
 /Users/becker/opt/anaconda3/bin/python3

然后例如我想安装turfpy,所以我这样做

 pip3 install turfpy

输出是

  Requirement already satisfied: turfpy in ./opt/anaconda3/lib/python3.8/site-packages (0.0.6)
  Requirement already satisfied: shapely in ./opt/anaconda3/lib/python3.8/site-packages (from turfpy) (1.7.1)
   Requirement already satisfied: scipy in ./opt/anaconda3/lib/python3.8/site-packages (from turfpy) (1.5.2)
   Requirement already satisfied: numpy in ./opt/anaconda3/lib/python3.8/site-packages (from turfpy) (1.19.2)
   Requirement already satisfied: geojson in ./opt/anaconda3/lib/python3.8/site-packages (from turfpy) (2.5.0)

所以原则上,我会假设一切正常。

现在我用 spyder 编写的 python 文件位于不同的文件夹中,您会看到下面的目录,而不是上面的任何目录。

其实运行文件,我得到

  File "/Users/becker/Desktop/elevation data/pointinpolygon.py", line 1, in <module>
    from turfpy.measurement import boolean_point_in_polygon

   ModuleNotFoundError: No module named 'turfpy'

所以我必须假设turfpy毕竟没有安装。

如果缺少一些我应该提供的额外信息,我提前道歉。我有点不知道发生了什么。但是,如果可能的话,我想了解如何使用 spyder 来解决这个问题,而不是先卸载所有东西来解决这个问题。

【问题讨论】:

  • 尝试“pip3 install xyz”。然后尝试“python3 file.py”
  • 我理解第一个命令,它产生与 pip install xyz 相同的输出,我看不出你想让我在哪里使用第二个命令。我用间谍。对不起,我对 python 完全陌生。因此,如果不做第二个,我认为它不起作用,因为我仍然得到“找不到模块”
  • 当您为非微软系统安装时....您可以创建 2 个 bin 文件夹。一个是 python2 并被标记为 python。另一个将是 python3 并将被标记为 python3。当您使用 python2 时,命令将是“python filename.py”。当您使用 python3 时,命令将是 python3 filename.py。
  • 我猜,您在 anaconda 提示符中使用的 python 与在 spyder 中使用的 python 不同。尝试在 anaconda 提示符中键入“python”,然后执行“import turfpy”。有用吗?
  • 如何启动 sypder?尝试从命令行启动它。然后它应该在基础环境中启动。

标签: python python-3.x


【解决方案1】:

确保您的 Spyder 使用的是“基础”anaconda 环境。

发件人:https://docs.spyder-ide.org/current/faq.html
在 anaconda 提示符中: 您应该激活您的 conda 环境(在您的情况下,您不必这样做,因为您使用“基础”环境)并开始 spyder 键入“spyder”。

一开始很难理解的一件事是,您可以在您的机器上安装多个 python 实例。 Anaconda 是一个很好的工具,可以管理安装了不同包组合的不同 python 版本的不同“环境”。

在您的情况下,Spyder 使用与安装软件包的 anaconda 提示符不同的解释器。这里解释一下如何检查Spyder使用的是哪个Python解释器:https://*.com/a/54237704/2196531

【讨论】: