银河麒麟系统安装NumPy和SciPy 麒麟OS科学计算环境

阿涛小哥_7997

阿涛小哥_7997

2026-06-07

481人浏览

原创

若在银河麒麟系统中导入numpy或scipy报modulenotfounderror,需根据环境选择对应安装方式:一、用pip3配镜像源安装;二、用conda自动处理blas依赖;三、源码编译适配优化;四、适配kysec安全机制并添加白名单。

银河麒麟系统安装numpy和scipy 麒麟os科学计算环境

如果您已在银河麒麟系统上完成Python环境配置,但尝试导入numpy或scipy时提示ModuleNotFoundError,则可能是由于科学计算库未安装、依赖缺失或pip源不可达。以下是针对不同Python环境的多种安装方法:

一、使用系统默认pip3安装(适用于APT安装的Python 3)

该方式利用系统预装的pip3工具,从PyPI官方源或国内镜像源快速安装二进制轮子(wheel),适合对编译环境要求不高的场景,且无需额外依赖库。

1、打开终端,执行sudo apt update更新软件包索引。

2、确保基础开发组件已就位:sudo apt install python3-pip python3-dev build-essential libatlas-base-dev liblapack-dev gfortran。

3、配置清华镜像源加速下载:python3 -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/。

4、依次安装:python3 -m pip install numpy scipy。

5、验证安装:python3 -c "import numpy as np; import scipy; print(np.__version__, scipy.__version__)"。

二、使用conda环境安装(适用于Anaconda/Miniconda用户)

conda可自动解析并安装NumPy与SciPy所需的底层BLAS/LAPACK实现(如OpenBLAS或Intel MKL),避免手动编译复杂依赖,特别适合ARM架构(aarch64)或x86_64平台下的高性能数值计算需求。

1、确认conda已激活:conda --version;若未安装,请先下载对应架构的Anaconda3安装脚本(如Linux-aarch64.sh或Linux-x86_64.sh)并执行bash命令安装。

2、创建独立环境(推荐):conda create -n scienv python=3.11。

3、激活环境:conda activate scienv。

4、安装科学计算栈:conda install numpy scipy matplotlib ase -c conda-forge。

5、验证:python -c "import numpy; import scipy.linalg; print('OK')"。

MOKI
MOKI

一款面向AI短片创作的视觉内容工具,可辅助生成故事分镜和视频素材,适合从创意构思快速推进到动态内容制作。

下载

三、源码编译安装(适用于需启用特定优化或定制BLAS后端的场景)

当需要绑定OpenBLAS、Intel MKL或ARM SVE指令集优化时,必须从源码构建。此方式可控性强,但耗时较长,且要求系统已安装Fortran编译器及线性代数库头文件。

1、安装编译依赖:sudo apt install build-essential gfortran libopenblas-dev liblapack-dev libatlas-base-dev cython3。

2、升级pip与setuptools:python3 -m pip install --upgrade pip setuptools wheel Cython。

3、下载NumPy源码:wget https://github.com/numpy/numpy/releases/download/v1.26.4/numpy-1.26.4.tar.gz;解压并进入目录。

4、配置编译选项:python3 setup.py build_ext --inplace -j$(nproc)。

5、安装:python3 setup.py install --prefix=/usr/local/python311 --optimize=2。

6、重复步骤3–5安装SciPy:wget https://github.com/scipy/scipy/releases/download/v1.13.1/scipy-1.13.1.tar.gz;注意SciPy需在NumPy已安装的前提下编译。

四、麒麟系统专属适配方案(含KYSEC权限处理)

银河麒麟OS启用KYSEC安全机制后,通过pip或conda安装的二进制扩展模块(如*.so文件)可能被强制拦截执行。需将关键路径加入白名单,否则import时将报错Operation not permitted或Permission denied。

1、检查KYSEC当前模式:getstatus。

2、若返回enabled且模式为Normal,临时切换至Softmode:sudo setstatus Softmode。

3、安装完成后,获取已安装模块路径:python3 -c "import numpy; print(numpy.__file__)"。

4、将输出路径中包含.so的父目录(如/usr/local/lib/python3.11/site-packages/numpy/core)添加至KYSEC白名单:sudo kysecctl --add /usr/local/lib/python3.11/site-packages/numpy/core --type dir。

5、对SciPy同理操作:sudo kysecctl --add /usr/local/lib/python3.11/site-packages/scipy/linalg --type dir。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c++和c语言的区别有哪些
c++和c语言的区别有哪些

c++和c语言的区别:1、面向对象编程(OOP)支持不同;2、新增特性不同;3、标准库不同;4、编译方式不同;5、命名空间不同等等。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.14

2248

9

c++和python学习顺序推荐
c++和python学习顺序推荐

一般建议先学习C++,再学习Python,因为这样可以逐步从较为底层的编程语言向更高级的语言过渡。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

1019

6

python和c++学习性价比分析
python和c++学习性价比分析

Python易于学习,广泛应用于Web开发、数据科学和人工智能等领域,但性能较低。C语言性能高,适用于对性能要求较高的场景,如游戏开发和系统编程,但学习曲线陡峭,错误处理复杂。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

447

5

c语言和c++一样吗
c语言和c++一样吗

c语言和c++是两种不同的编程语言,虽然有相似之处,但存在显著差异。c语言专注于过程式编程和系统级开发,以简洁、高效著称。c++作为c语言的超集,引入了面向对象编程,增强了代码组织和管理能力,但学习曲线也更陡峭。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

327

5

c语言和c++先学哪个好
c语言和c++先学哪个好

初学者选择学习c语言还是c++语言,需要根据个人学习目标、背景以及编程兴趣和预期应用方向来决定。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

406

5

c语言和c++的区别和联系
c语言和c++的区别和联系

c语言和c++是计算机科学领域应用广泛的编程语言。虽然它们有着相似的基础,但它们在语言类型、语法功能和内存管理方面存在着显著差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

580

5

c++软件中文更改教程
c++软件中文更改教程

对于 ide,可通过打开设置,找到语言设置,选择中文,并保存更改。对于非 ide 应用程序,可查找设置或选项,选择语言设置,更改为中文,并保存更改。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.21

1409

9

python和java和c++学习性价比分析
python和java和c++学习性价比分析

Python以其易学性、丰富的库和活跃的社区而著称,适合数据科学、人工智能和Web开发。Java以其跨平台性、企业级应用开发和Android应用开发而闻名。C++以其底层控制能力、高效性能和游戏开发而著称。选择哪种语言取决于个人兴趣、职业方向和特定需求。想了解更多python和java和c++的相关内容,可以阅读本专题下面的文章。

2024.03.22

1217

7

c++和c语言学习顺序推荐
c++和c语言学习顺序推荐

对于初学者,建议先学习C语言,掌握编程基础后再转入C++,便于理解面向对象编程概念。有编程经验者可直接学习C++,快速接触高级编程技术。想了解更多c++和c语言的相关内容,可以阅读本专题下面的文章。

2024.03.25

1325

9

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.8万人学习