• macos上安装配置emsdk的问题


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 MALOUDA-PSA 2024-04-20 10:21 采纳率: 92.6% 浏览 2 首页/ 编程语言 / 已采纳 macos上安装配置emsdk的问题 javascriptecmascript ./emsdk install latest ./emsdk activate latest source ./emsdk_env.sh emcc -v 提示如下错误: /Users/yeair/frontend/emsdk_mac/emscripten/1.38.28/emcc.py:2794: SyntaxWarning: invalid escape sequence '\s' if re.search('{{{\s*SCRIPT\s*}}}', shell): /Users/yeair/frontend/emsdk_mac/emscripten/1.38.28/emcc.py:784: SyntaxWarning: "is not" with 'str' literal. Did you mean "!="? newargs = [arg for arg in newargs if arg is not ''] /Users/yeair/frontend/emsdk_mac/emscripten/1.38.28/emcc.py:896: SyntaxWarning: "is not" with 'str' literal. Did you mean "!="? newargs = [a for a in newargs if a is not ''] Traceback (most recent call last): File "/Users/yeair/frontend/emsdk_mac/emscripten/1.38.28/emcc.py", line 41, in from tools import shared, system_libs, client_mods, js_optimizer, jsrun File "/Users/yeair/frontend/emsdk_mac/emscripten/1.38.28/tools/shared.py", line 8, in from distutils.spawn import find_executable ModuleNotFoundError: No module named 'distutils' 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    3条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-20 10:21
      关注

      引自免费微信小程序:皆我百晓生

      看起来你在MacOS上尝试配置Emscripten SDK时遇到了一些问题。Emscripten是一个工具链,它允许你将C/C++代码编译为能在Web浏览器中运行的JavaScript代码。

      首先,让我们解决Python语法警告。这些警告是因为在旧版本的Python(如Python 2)中,某些字符串格式化方法已经过时。虽然它们在Python 3中仍然可以工作,但会引发警告。要解决这个问题,你需要更新emcc.py文件中的相关行。以下是修复后的代码片段:

      # Before
      if re.search('{{{\s*SCRIPT\s*}}}', shell):
      # After
      if re.search(r'{{{\s*SCRIPT\s*}}}', shell):
      
      # Before
      newargs = [arg for arg in newargs if arg is not '']
      # After
      newargs = [arg for arg in newargs if arg != '']
      
      # Before
      newargs = [a for a in newargs if a is not '']
      # After
      newargs = [a for a in newargs if a != '']
      

      接下来,你需要解决ModuleNotFoundError: No module named 'distutils'的问题。这表示Python找不到distutils模块,这通常存在于标准库中,但在某些情况下可能未正确安装或路径设置不正确。确保你正在使用的Python环境是完整的,并且包含所有必需的库。你可以通过创建一个新的虚拟环境并安装所需的依赖来解决这个问题。

      以下是如何创建一个新虚拟环境并在其中安装distutils的步骤:

      1. 打开终端。
      2. 创建一个名为emsdk_virtualenv的新虚拟环境:
        python3 -m venv emsdk_virtualenv
        
      3. 激活这个新的虚拟环境:
        source emsdk_virtualenv/bin/activate
        
      4. 确保你现在使用的Python解释器是虚拟环境内的,可以通过输入which python检查。
      5. 安装缺失的distutils模块(实际上应该是distlib,因为distutils在Python 3中已经被distlib取代了):
        pip install distlib
        

      完成上述步骤后,你应该能够在激活的虚拟环境中正常运行emcc命令。为了方便使用,你可以创建一个脚本来启动Emscripten工具链:

      #!/bin/bash
      
      # 激活你的虚拟环境
      source emsdk_virtualenv/bin/activate
      
      # 使用虚拟环境中的Python执行emcc
      /usr/local/bin/python /Users/yeair/frontend/emsdk_mac/emscripten/1.38.28/emcc.py "$@"
      

      将这段脚本保存为emcc.sh,然后赋予它执行权限:

      chmod +x emcc.sh
      

      最后,每次你想使用emcc时,只需要运行./emcc.sh -v即可。

      如果你遇到任何问题,或者需要进一步的帮助,请随时告诉我。

      展开全部

      本回答被题主选为最佳回答 , 对您是否有帮助呢?
      评论 编辑记录
    查看更多回答(2条)
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    JavaEE项目的数据分析师、软件工程师
    隐藏通信隧道技术
    第7章 C语言的系统复习 (七)
    (免费领源码)Java#SpringBoot#mysql高校实验室资产管理系统85189-计算机毕业设计项目选题推荐
    超简单版Python打包exe文件,并修改图标,这将是你见过最容易上手的教程~
    【网络编程】第一章 网络基础(协议+OSI+TCPIP+网络传输的流程+IP地址+MAC地址)
    获取keystore中的公钥模数及md5
    JDBC---封装JDBC代码,配置properties文件
    可视化神经网络实验报告,可视化神经网络工具
    《天天数学》连载54:二月二十三日
  • 原文地址:https://ask.csdn.net/questions/8091695