HuJiaQi0805 2024-05-30 10:57 采纳率: 16.7%
浏览 9

运行.sh脚本 却出现没有配置解释器

利用的wsl 下载ubuntu 配置了anaconda 的虚拟环境 可以在pycharm终端查到配置的环境 但是运行main.sh 脚本文件 却显示没有配置解释器

img


终端运行 报错 显示没有包 但是我已经导入包了

img

  • 写回答

3条回答 默认 最新

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

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

    看起来你在Windows Subsystem for Linux (WSL) 中安装了Anaconda,并且在PyCharm中设置了虚拟环境。然而,当尝试通过bash main.sh运行.sh脚本时,遇到了两个问题。

    首先,你遇到的是解释器找不到的问题。这可能是因为你的.sh脚本虽然开头指定了#!/bin/bash,但在WSL环境中,它可能没有被正确识别。要解决这个问题,确保你的.sh脚本以正确的行开始,即:

    #!/usr/bin/env bash
    

    这会告诉系统使用环境中的bash解释器来执行这个脚本。

    其次,你遇到了Python模块(在这个例子中是torch)未找到的错误。这可能是由于你的.sh脚本是在全局Python环境中运行的,而你期望它在Anaconda的特定虚拟环境中运行。为了确保在正确的环境中运行,你需要在.sh脚本中指定虚拟环境的激活命令。这里是一个示例:

    #!/usr/bin/env bash
    
    # 激活你的Anaconda环境,将下面的"your_env_name"替换为你的实际环境名称
    source /home/your_username/anaconda3/envs/your_env_name/bin/activate
    
    # 确认虚拟环境已经激活
    echo $CONDA_DEFAULT_ENV
    
    # 运行你的Python脚本
    python federated_main.py --model=cnn --dataset=office-home --gpu=1 --num_classes=65 --local_ep=5 --local_epochs=20
    

    确保替换上述代码中的your_usernameyour_env_name为你在WSL中的用户名和虚拟环境的实际名称。

    保存并更新.sh脚本后,使用chmod +x main.sh命令赋予脚本执行权限,然后尝试再次运行./main.sh(注意使用点.来表示当前目录)。这样应该会在你的Anaconda虚拟环境中执行,包含所有必要的Python包,如torch。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月30日

悬赏问题

  • ¥300 寻抓云闪付tn组成网页付款链接
  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题