导入错误:缺少可选依赖项“openpyxl”安装后仍然无法工作

问题描述 投票:0回答:6

ubuntu 18.04、python3.8 并使用 pycharm。

pychamr 中的解释器路径设置正确。

在尝试读取 Excel 中的特定工作表时,使用 openpyxl 它不断给我带来 ImportError 错误。

ImportError: Missing optional dependency 'openpyxl'.  Use pip or conda to install openpyxl.

我已经使用

pip3 install openpyxl
安装,它说要求已经满足。 但是,当我在 pycharm 中再次运行它时,它仍然输出相同的错误。

Requirement already satisfied: openpyxl mycomp/.local/lib/python3.8/site-packages (3.0.7)
Requirement already satisfied: et-xmlfile in mycomp/.local/lib/python3.8/site-packages (from openpyxl) (1.0.1)

我的猜测是,因为我使用的是 venv,所以它没有在 venv 中正确安装,因为当我在安装时查看路径时,它不是 venv 所在的位置。

当我在 venv 上执行 pip3 freeze 并停用 venv 后,它看起来具有相同的安装。

python ubuntu openpyxl
6个回答
19
投票

对我来说,在交互式会话中输入以下内容:

import pip
pip.main(["install", "openpyxl"])

6
投票

我遇到了类似的事情,因为 pandas 在幕后使用它。

清理本地 python 环境或创建一个新的虚拟环境以从 IDE 中使用。然后,如果可能的话,尝试在一个 pip 命令中安装模块,而不是在多行中安装。

# THIS, substitute pandas for whatever module is using openpyxl
pip install pandas openpyxl

# NOT THIS
pip install pandas
pip install openpyxl

# VERSIONS
pandas==1.4.3
openpyxl==3.0.10

3
投票

对我的情况有帮助的是:安装额外的可选库

pip install defusedxml

1
投票

尝试:

1:

conda install -c anaconda xlrd

2:

import pip
pip.main(["install", "openpyxl"])

0
投票

删除 venv 并创建一个新的 venv 解决了该问题。

以前的 venv 将所有依赖项作为基础,这是没有意义的。也许 venv 上有错误?我很想知道是否有人知道。


0
投票

我遇到了同样的问题,问题出在安装包的位置。尝试在 Pycharm 中打开 Python Packages 窗口并从那里安装包以将其安装到项目的 venv 中。 这篇 Reddit 帖子是我找到解决方案的地方。

© www.soinside.com 2019 - 2024. All rights reserved.