更改了 PATH 变量以使用正确的 Python 版本,但现在找不到 pip 安装的库

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

我使用的是 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 python-3.x pip path
1个回答
0
投票

你不应该安装多个版本的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
© www.soinside.com 2019 - 2024. All rights reserved.