Python3.9 中的 ModuleNotFoundError

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

我正在使用 python 在我大学的计算节点上进行一些数据处理。计算节点安装了多个版本的python。但是,每次我使用

运行脚本

$python3 script.py

默认情况下选择了 python3.6,但我不明白如何在运行任何脚本时将 python3.9 作为默认版本。对此的任何指导将不胜感激。

此外,我在谷歌上找到了一个解决方法,并尝试使用命令运行我的脚本

$python3.9 script.py

这确实选择了 python3.9 作为要运行的版本,但是当我尝试导入任何第三方库时它会抛出

ModuleNotFoundError
pandas
。我在系统中安装了所有需要的第三方模块,当我运行脚本时它们工作正常

$python3 scipt.py

我必须使用 python3.9 运行脚本,因为如果不使用 python3.9 运行,其中一个模块将失败。为什么我切换到 python3.9 后没有第三方模块不可用,你有什么建议吗?

python python-3.x scientific-computing
2个回答
0
投票

每个版本的Python只能使用对应版本的pip安装的模块。您可以使用

python3.6 -m pip install [module]
为特定版本安装它。

使给定版本的 Python 成为系统默认版本的方法特定于每个发行版,例如在 Debian 中,您可以使用

update-alternatives --config python
然后选择您想要的版本。

venv
也是一种替代方案,允许您为每个项目创建虚拟环境,从而在内部管理您的依赖项并避免必须在系统范围内安装依赖项。这是文档:https://docs.python.org/fr/3/library/venv.html.


0
投票

考虑使用python虚拟环境强烈推荐。

最小的例子:

创造 venv

python3.9 -m venv path/to/new/vnenv/folder

激活 vnev(在 Linux 中)

source path/to/new/vnenv/folder/bin/activate

安装包

pip install pandas

运行脚本

python script.py

停用环境

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