Apple Silicon (mac m1 pro) 完整配置CS285 (brew, miniforge, mujoco)

本文详细介绍了如何在装有M1 Pro芯片的MacBook Pro上配置conda环境、安装Homebrew、Miniforge,以及如何针对Apple Silicon优化安装MuJoCo2.1.1,包括设置环境变量、安装glfw等依赖,并创建和激活conda虚拟环境。此外,还提到了安装和更新相关Python库以适应Apple Silicon的步骤。

Apple Silicon 配置CS285

我的环境是:

  • MacBook Pro (14英寸,2021年),芯片是m1 pro
  • conda 4.12.0, Python 3.9.10, mujoco 2.1.1(是2.1.1!!)

配置Homebrew

参考这篇知乎M1芯片Mac上Homebrew安装教程 - 知乎就够了,很无敌。我选择了ARM版本和X86版本brew的共存,从macOS Catalina(10.15.x) 版开始,Mac使用zsh作为默认Shell,所以我直接将下面的

alias abrew='arch -arm64 /opt/homebrew/bin/brew' # apple 
alias ibrew='arch -x86_64 /usr/local/bin/brew'   # intel

添加到了/.zshrc中,这样每次开Terminal就会自动定义好啦。为什么是添加在/.zshrc可以参考MAC 设置环境变量PATH 和 查看PATH - 简书,大概是这个文件在启动Terminal时会自动执行。

下载miniforge

网址:

<think>嗯,用户专门询问了AppleSiliconM1/M2芯片Mac安装NS-3的具体方法,看来ta正在尝试搭建网络仿真环境。结合历史对话,用户应该是个科研人员或学生,之前已经了解过Mac兼容性信息,现在需要针对ARM架构的实操方案。注意到用户引用了四条站内资料,其中第一条提到Rosetta兼容模式是最关键线索。不过引用3的FreeRTOS和引用4的数据类型描述与当前问题无关,可能是系统误关联,需要忽略。用户核心需求很明确:要在M系芯片的Mac上跑通NS-3。我上次回复提到“建议通过Rosetta运行”,这次需要给出完整解决方案。关键点包括:1)强制终端以x86模式运行(利用arch-x86_64)[^1]2)通过Homebrew安装x86版依赖库(brewinstall--force选项很重要)3)编译参数调整(--disable-python避免M1原生Python冲突)[^2]4)调试技巧(如遇到模块缺失时重新configure)特别要强调依赖库的架构一致性——这是M芯片最常见报错根源。比如Python绑定必须全部使用x86环境下的pip安装包,否则会出现`Symbolnotfound:_PyFloat_Type`这类诡异错误。用户没有说明具体NS-3版本,但根据引用1的提示,优先推荐3.38以上版本(原生支持ARM的测试版)。如果用户需要稳定版,再补充Rosetta方案的操作细节,比如:-如何验证终端是否处于x86模式(uname-m输出应为x86_64)-遇到wxWidgets编译错误时的替代方案(改用pyviz)补充的可视化工具配置可能超出用户当前询问范围,但考虑到后续实验必然用到,提前给出pyviz和NetAnim的安装提示会很实用。最后生成的疑问都围绕M芯片优化,这确实是当前研究的痛点。</think> 在Apple Silicon(M1/M2)芯片的Mac上安装NS-3网络仿真器需通过**Rosetta 2兼容层**实现原生x86_64架构支持,以下是详细步骤及避坑指南: --- ### **安装前准备** ```bash # 1. 安装Rosetta 2(若未安装) sudo softwareupdate --install-rosetta # 2. 创建x86_64专属终端环境 arch -x86_64 zsh # 启动x86模式终端(后续操作均在此环境) ``` --- ### **完整安装流程(以ns-3.38为例)** ```bash # 1. 安装x86版Homebrew export PATH=/usr/local/bin:$PATH /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 2. 安装必需依赖 brew install cmake gcc@11 python@3.10 git sqlite libxml2 gtkwave # 3. 下载NS-3源码 git clone https://gitlab.com/nsnam/ns-3-dev.git cd ns-3-dev # 4. 关键配置(禁用python避免架构冲突) ./ns3 configure \ --build-profile=optimized \ --disable-python \ --enable-examples \ --enable-tests # 5. 编译安装 ./ns3 build ``` --- ### **验证安装** ```bash # 运行测试案例(需在x86终端) ./ns3 run hello-simulator ``` > ✅ 成功标志:终端输出`Hello Simulator`[^1] --- ### **疑难解决** 1. **Python绑定冲突** ```text ModuleNotFoundError: No module named 'ns' ``` **解决方案**:使用完全独立的环境 ```bash python3 -m venv py_env # 创建隔离环境 source py_env/bin/activate ./ns3 configure --enable-python-bindings # 重新配置 ``` 2. **GTK可视化组件失效** **修复步骤**: ```bash brew reinstall gtk+3 adwaita-icon-theme export GDK_BACKEND=x11 # 强制X11渲染[^2] ``` 3. **M系芯片原生支持进展** - 实验性支持:ns-3.39+ 可通过`-DUSE_ARM_OPTIMIZED=ON`编译(尚不稳定) - 推荐方案:现阶段仍建议Rosetta 2方案[^1] --- ### **可视化工具配置** | 工具 | 安装命令 | 使用场景 | |---------------|-----------------------------|-----------------------| | NetAnim | `brew install netanim` | 有线拓扑动画 | | PyViz | `pip3 install pygraphviz` | 实时拓扑可视化[^2] | --- ### **原生ARM支持进阶方案(实验性)** ```bash # 仅限ns-3.39+版本 cmake -DCMAKE_APPLE_SILICON_PROCESSOR=arm64 \ -DUSE_ARM_OPTIMIZED=ON \ -B build cmake --build build ``` > ⚠️ 已知限制:部分模块(如MPI)可能崩溃[^1] ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值