我正在使用 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只能使用对应版本的pip安装的模块。您可以使用
python3.6 -m pip install [module]
为特定版本安装它。
使给定版本的 Python 成为系统默认版本的方法特定于每个发行版,例如在 Debian 中,您可以使用
update-alternatives --config python
然后选择您想要的版本。
venv
也是一种替代方案,允许您为每个项目创建虚拟环境,从而在内部管理您的依赖项并避免必须在系统范围内安装依赖项。这是文档:https://docs.python.org/fr/3/library/venv.html.
考虑使用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