我正在为这个问题苦苦挣扎。
我有一个在虚拟环境中运行的小型 python 项目。我将此模块安装为
pip install openpyxl
(我也尝试过 pip3 install openpyxl
或 python3 -m pip install openpyxl
,结果相同)。
当我运行脚本时,出现此错误:
ModuleNotFoundError: No module named 'openpyxl'
在回溯中,我看到对我的 python 版本(3.11.8)的引用:
...
File "/opt/homebrew/Cellar/[email protected]/3.11.8/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
当我为我的
pip list
做venv
时,我得到
Package Version
---------- -------
et-xmlfile 1.1.0
openpyxl 3.1.2
pip 24.0
setuptools 69.5.1
wheel 0.43.0
当我在我的
pip list
之外做 venv
时,就没有 openpyxl
。
当我做
which python3
时,我得到
/Users/adam/pythondev/myproj/.venv/bin/python
根据谷歌搜索,我显然安装了
openpyxl
到了错误版本的python?但是,如何解决这个问题并安装到我的 python 版本? (python3 --version
=> Python 3.11.8
)
如果您在终端中执行
pip show openpyxl
,您应该会看到软件包的安装位置。您应该在位置路径中的某个位置看到您的环境的名称。
如果您过去更改过
$PATH
系统环境变量,那么这也可能是一个问题。
您似乎在虚拟环境中使用
venv
。运行 python3 -m venv <PATH_TO_ENVIRONMENT>/<ENVIRONMENT_NAME>
后,请务必使用 source <PATH_TO_ENVIRONMENT/<ENVIRONMENT_NAME>/bin/activate
然后使用 pip install openpyxl
激活环境。