我使用的是 macOS。我最近通过 homebrew 升级了我的 python 版本,但是运行
python3
仍然得到旧版本的 Python 3.8。因此,我将 PATH
变量更改为 export PATH="/usr/local/bin:$PATH"
以使用新的 Python 版本 3.12.5。
但是,现在当我尝试在 Python 中导入我过去 pip 安装的任何库时,Python 会给我一个
ModuleNotFoundError: No module named 'chromadb'
错误。我显示了 chromadb,但我尝试导入的任何包都会给出 ModuleNotFoundError
。
当然,我过去已经安装并使用过这些软件包,并且使用我的旧版本的 Python 工作得很好。当我再次尝试 pip 安装这些软件包时,我收到很多消息说要求已经满足
Requirement already satisfied: chromadb in ./Library/Python/3.8/lib/python/site-packages (0.5.5)
。
我尝试更改我的
$PYTHONPATH
以包含 ./Library/Python/3.8/lib/python/site-packages:/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages:
,因为我看到这些是我的一些站点包的位置,但在导入多个库时会出现错误。例如,当我 import redis
或 import numpy
时,我会得到更多 ModuleNotFoundError
。
我需要使用这个更新的 Python 版本,但是如何修复
ModuleNotFoundError
的问题?预先感谢。
你不应该安装多个版本的python,不安全并且管理起来很头疼。在你的情况下,你不能使用以前安装的软件包,因为你为 pyuthon3.8 安装了它们,而你的新 python 没有它们。
您可以尝试创建一个虚拟环境,然后在那里安装您的软件包。最好为每个项目都有一个单独的虚拟环境。如果您本身没有项目,请为您的特定 python 版本创建一个虚拟环境。
我建议使用 Anaconda 或 Miniconda。
conda create -n my_env_name python=3.12
conda activate my_env_name
pip install <your packages> # conda install will also work