GTX1650 安装 NVIDIA Modulus 指南
本指南适用于 Ubuntu 系统,并基于 Python 3.10 进行 NVIDIA Modulus 的安装和配置。
1. 创建 Python 3.10 虚拟环境
为了避免影响系统环境,建议在 虚拟环境 中安装和配置 NVIDIA Modulus。
更多虚拟环境的使用方法,请参考:Python 虚拟环境使用指南。
1.1 安装 Python 3.10(如未安装)
sudo apt update
sudo apt install python3.10 python3.10-venv python3.10-dev
1.2 创建并激活虚拟环境
python3.10 -m venv ~/Desktop/modulus/pinn
source ~/Desktop/modulus/pinn/bin/activate
激活后,终端前面会出现 (pinn)
,表示已进入虚拟环境。
2. 安装 NVIDIA Modulus 及相关依赖
2.1 安装 NVIDIA Modulus
pip install nvidia-modulus
2.2 安装 Cython
Modulus 需要 Cython
来编译某些模块:
pip install Cython
3. 解决 Python.h 相关问题
安装过程中可能遇到 Python.h: No such file or directory 错误,表示系统或虚拟环境中缺少 Python 头文件。
3.1 检查系统是否有 Python 头文件
find /usr/include -name Python.h
如果返回类似 /usr/include/python3.10/Python.h
的路径,说明头文件已安装。
3.2 检查虚拟环境是否包含 Python 头文件
ls ~/Desktop/modulus/pinn/include/python3.10/Python.h
若返回 No such file or directory
,表示虚拟环境中缺少头文件。
4. 解决方案
4.1 创建软链接
若系统中已有 Python 头文件,但虚拟环境中缺失,可通过创建软链接来解决:
ln -s /usr/include/python3.10 ~/Desktop/modulus/pinn/include/python3.10
此操作会让虚拟环境能访问系统的 Python 头文件。
4.2 使用 CFLAGS(临时方法)
若不想创建软链接,可通过 CFLAGS
指定头文件路径:
export CFLAGS="-I/usr/include/python3.10"
pip install nvidia-modulus.sym --no-build-isolation
这种方法适用于临时编译,终端关闭后需重新设置。
5. 安装其他依赖
5.1 安装 pint(Modulus 依赖项)
pip install "pint==0.19.2"
5.2 安装 nvidia-modulus.sym
pip install nvidia-modulus.sym --no-build-isolation
6. 解决版本安装问题
在安装 nvidia-modulus.sym 时,可能会遇到版本问题。例如,最新的 1.8.0 版本可能存在 bug,导致代码运行时出现问题。此时可以尝试安装较早的版本来解决问题。
6.1 安装较早版本(如 1.6.0)
如果安装 1.8.0 版本后出现问题,可以尝试安装 1.6.0 版本:
pip install "nvidia-modulus.sym==1.6.0" --no-build-isolation
6.2 安装 1.7.0 版本失败
如果在尝试安装 1.7.0 版本时失败,建议直接使用 1.6.0 版本,或者检查是否存在其他兼容性问题。
6.3 从 GitHub 获取旧版本
若需要安装旧版本的 nvidia-modulus.sym,可以通过 GitHub 上的 nvidia-modulus 仓库查看发布的版本。具体步骤如下:
- 访问 nvidia-modulus GitHub 页面。
- 在页面上找到 Releases(发布)部分。
- 选择您需要的版本(例如 1.6.0)。
- 根据版本信息,修改命令中的版本号进行安装:
pip install "nvidia-modulus.sym==1.6.0" --no-build-isolation
这样,您就可以获取并安装到所需的版本。
7. 其他可能需要的依赖
若安装过程中出现 distutils
错误,执行以下命令:
sudo apt-get install python3.10-distutils
如果 pip
版本过低,建议升级:
pip install --upgrade pip setuptools
8. 总结
步骤 | 命令 | 说明 |
---|---|---|
1. 创建虚拟环境 | python3.10 -m venv ~/Desktop/modulus/pinn |
创建隔离环境 |
2. 激活虚拟环境 | source ~/Desktop/modulus/pinn/bin/activate |
进入虚拟环境 |
3. 安装 Modulus | pip install nvidia-modulus |
安装核心库 |
4. 安装 Cython | pip install Cython |
解决构建问题 |
5. 检查 Python 头文件 | find /usr/include -name Python.h |
确保 Python.h 存在 |
6. 解决 Python.h 问题 | ln -s /usr/include/python3.10 ~/Desktop/modulus/pinn/include/python3.10 |
创建软链接使虚拟环境找到 Python 头文件 |
7. 另一种解决方案 | export CFLAGS="-I/usr/include/python3.10" |
临时指定 Python 头文件路径 |
8. 安装额外依赖 | pip install "pint==0.19.2" |
安装 Modulus 依赖库 |
9. 安装 nvidia-modulus.sym | pip install nvidia-modulus.sym --no-build-isolation |
安装完整的 Modulus 组件 |
10. 解决版本问题 | pip install "nvidia-modulus.sym==1.6.0" --no-build-isolation |
安装较早版本解决安装问题 |
附录:ln -s
与 export CFLAGS
的区别
-
ln -s
- 创建软链接,将系统的 Python 头文件显示在虚拟环境中。
- 适用于长期使用,执行一次即可。
-
export CFLAGS
- 临时告诉编译器去指定目录查找头文件。
- 适合一次性安装,终端关闭后需重新设置。