python - 导入包时找不到模块。它肯定安装在计算机上。我已经尝试了很多东西,但没有一个奏效
问题描述
我正在使用 MacOS Catalina。我会解释我所做的一切。我很绝望,感觉就像我尝试了一切。目前,当我在终端中键入以下内容时,我得到:
- “python --版本”->“Python 2.7.16”
- “python3--版本”->“Python 3.7.4”
- "brew info python" --> "python: stable 3.7.4 (bottled), HEAD"
过程:
几周前,在“升级”到 Catalina 之前,Anaconda、conda 和 pip 命令运行良好,我可以在使用 Jupyter 笔记本时正常安装和导入包(如 geopandas)。更新后,Anaconda 无法启动,经过几次修复尝试后,我决定从头开始卸载并重新安装 Anaconda,这可以打开 Anaconda 并正常使用 Jupyter 笔记本。今天,我尝试运行命令“pip install geojson”安装geojson,这是我在更新之前通常所做的。它确实安装了软件包,但是 pip 和 pip 3 都将 python 2.7 作为安装的目标文件夹(我在笔记本中使用了 python 3)。在这里,我尽一切努力使其将安装目标更改为 3.7,但最终我感到沮丧,并认为重新安装一切会更好。我卸载了 pip、Homebrew、Anaconda 以及我能找到的与这两者相关的任何东西,然后重新安装了 Homebrew(它告诉我专门使用 pip3 进行安装)和 Anaconda 完整包。
问题:
- conda 命令不起作用:“command not found: conda”(这很奇怪,因为它与 anaconda 一起提供,但没关系,不是必需的)
最初在终端中运行“pip3 install geojson”时,我收到了以下消息:
已满足要求:/usr/local/lib/python3.7/site-packages (2.5.0) 中的 geojson
所以我通过“pip3卸载geojson”卸载了它,它有效。然后我用“pip3 install geojson”重新安装并收到消息:
警告:目录 '/Users/myname/Library/Caches/pip/http' 或其父目录不归当前用户所有,缓存已被禁用。请检查该目录的权限和所有者。如果使用 sudo 执行 pip,您可能需要 sudo 的 -H 标志。
警告:目录 '/Users/myname/Library/Caches/pip' 或其父目录不归当前用户所有,并且缓存轮已被禁用。检查该目录的权限和所有者。如果使用 sudo 执行 pip,您可能需要 sudo 的 -H 标志。
采集geojson 下载https://files.pythonhosted.org/packages/e4/8d/9e28e9af95739e6d2d2f8d4bef0b3432da40b7c3588fbad4298c1be09e48/geojson-2.5.0-py2.py3-none-any.whl 安装采集包:geojson 安装成功geojson-2.5.0
尝试重新安装让我收到消息
已满足要求:/usr/local/lib/python3.7/site-packages (2.5.0) 中的 geojson
这绝对意味着该软件包是为 python 3.7 安装的。现在,当我尝试在 Jupyter notebook 中运行:“import geojson”时,它会再次读取消息“Module not found”。
我怎样才能解决这个问题?在这一点上会尝试任何事情。顺便说一句,Notebook 运行 python 3。此外,我尝试执行上述所有操作,但已经使用 sudo。提前非常感谢。
解决方案
推荐阅读
- swift - 每次内容视图加载时如何生成一个新的随机数?
- c - 为什么 ReadFile 函数将垃圾写入缓冲区?
- apache-kafka - 主题授权异常
- c# - 更新选定行时如何避免 C# 中的 sqlite 错误?
- postgresql - Doctrine 和 PostgreSQL 应该使用什么标识符生成策略?
- java - 将一个数字四舍五入到最接近的整数,即使它低于 0.5,例如 1.2 在 java 中变为 2
- c# - 动态 COM 对象在 C# 中被要求提供未知接口 {B86A98CC-DCC0-3205-8777-7911A07DAAAF}
- aws-lambda - 如何在 AWS lambda 中使用 gifsicle
- reactjs - 反应获取状态
- reactjs - 如何使用 Redux 建立商店