Python3.9中的ModuleNotFoundError

ybzsozfc  于 2023-05-19  发布在  Python
关注(0)|答案(2)|浏览(316)

我正在使用Python在我的大学的计算节点上做一些数据处理。计算节点中安装了多个版本的python。然而,每次我运行一个脚本使用
$python3 script.py
默认情况下python3.6被选中,我不明白如何做,我使python3.9作为默认版本,而运行任何脚本.对此,任何指导都将不胜感激。
此外,我在google上找到了一个变通方法,并尝试使用以下命令运行我的脚本
$python3.9 script.py
它确实选择python3.9作为运行版本,但是当我尝试导入任何第三方库(比如pandas)时,它抛出了ModuleNotFoundError。我有所有需要的第三方模块安装在系统中,他们的工作正常,当我运行一个脚本与
$python3 scipt.py
我必须使用python3.9运行脚本,因为如果不使用python3.9运行,其中一个模块会失败。当我切换到python3.9时,为什么没有第三方模块不可用,你有什么建议吗?

fnvucqvd

fnvucqvd1#

强烈推荐使用python virtual environment
最小示例:
创建venv

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

activate venv(在linux中)

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

激活venv(在Windows中)

path/to/new/vnenv/folder/Scripts/activate.bat

安装软件包

pip install pandas

运行脚本

python script.py

停用venv

deactivate
ubbxdtey

ubbxdtey2#

每个版本的Python只能使用与相应版本的pip一起安装的模块。您可以使用python3.6 -m pip install [module]来安装特定版本。
将给定版本的Python作为系统的默认版本的方法是特定于每个发行版的,例如在Debian中,您将使用update-alternatives --config python,然后选择您想要的版本。
venv也是一种替代方案,允许您为每个项目创建虚拟环境,从而管理内部依赖项并避免在系统范围内安装依赖项。这里是doc:https://docs.python.org/fr/3/library/venv.html

相关问题