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 后,它看起来具有相同的安装。
对我来说,在交互式会话中输入以下内容:
import pip
pip.main(["install", "openpyxl"])
我遇到了类似的事情,因为 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
对我的情况有帮助的是:安装额外的可选库
pip install defusedxml
尝试:
1:
conda install -c anaconda xlrd
2:
import pip
pip.main(["install", "openpyxl"])
删除 venv 并创建一个新的 venv 解决了该问题。
以前的 venv 将所有依赖项作为基础,这是没有意义的。也许 venv 上有错误?我很想知道是否有人知道。
我遇到了同样的问题,问题出在安装包的位置。尝试在 Pycharm 中打开 Python Packages 窗口并从那里安装包以将其安装到项目的 venv 中。 这篇 Reddit 帖子是我找到解决方案的地方。