PyCharm на Windows 10, как использовать WSL ubuntu bash для запуска оболоченных скриптов?

Вопрос или проблема

Я установил PyCharm Community Edition на Windows 10, у меня также установлена WSL Ubuntu.

Мы знаем, что PyCharm на Linux может создавать и запускать shell-скрипты, потому что PyCharm использует /bin/bash на Linux.

Но на Windows PyCharm не знает, где найти /bin/bash.
Поэтому я изменил настройки в PyCharm на Windows 10.

В Файл–>Настройки–>Инструменты–>Терминал, измените путь к оболочке с cmd.exe на bash.exe.

Когда это сделано, я могу запускать команды Linux в терминале PyCharm следующим образом:
введите описание изображения здесь

Мы можем видеть, что путь к файлу был изменен на /mnt/c/Users/pcl/PycharmProjects/test-1

Проблема в том, что когда я запускаю shell-скрипты из IDE PyCharm, он выдает эту ошибку:
введите описание изображения здесь

Говорится, /bin/sh: 0: Невозможно открыть C:/Users/pcl/PycharmProjects/test-1/test-1.sh

Конечно, он не может открыть C:/Users/pcl/PycharmProjects/test-1/test-1.sh, потому что путь к файлу был изменен на /mnt/c/Users/pcl/PycharmProjects/test-1 в WSL.

Но PyCharm просто недостаточно умён, чтобы это распознать.

Так что же мне делать? (Я знаю, запуск PyCharm в Linux VM является решением)

Вы можете указать свой интерпретатор и передать скрипт как аргумент следующим образом:

$sh test-1.sh

Ответ или решение

Вопрос, с которым вы столкнулись, является довольно распространённым среди пользователей PyCharm на Windows 10, использующих Windows Subsystem for Linux (WSL). Давайте рассмотрим, как правильно настроить PyCharm для выполнения shell-скриптов в среде WSL.

Шаг 1: Установка и настройка PyCharm

Вы уже сделали первый шаг — установили PyCharm Community Edition и настроили его для работы с WSL, заменив стандартный shell на bash.exe. Для этого в PyCharm вы изменили путь к терминалу на bash.exe, что позволяет выполнять команды Linux непосредственно из терминала IDE.

Шаг 2: Правильный формат путей

Основная проблема заключается в том, что PyCharm, когда пытается выполнить shell-скрипт, не распознаёт пути, обеспечиваемые WSL. Вместо Linux-формата путей (например, /mnt/c/Users/pcl/PycharmProjects/test-1/test-1.sh), PyCharm пытается открыть файл по Windows-пути, что вызывает ошибку.

В данном случае, чтобы запустить ваш скрипт test-1.sh, вам нужно убедиться, что путь к файлу указан в формате, принимаемом WSL, а именно — в формате /mnt.

Шаг 3: Исполнение shell-скриптов

Чтобы успешно запускать shell-скрипты из PyCharm, вы можете использовать встроенную функциональность выполнения внешних инструментов. Вот пошаговое руководство:

  1. Создайте новый конфигурацию запуска:

    • Откройте PyCharm и в правом верхнем углу найдите выпадающее меню для конфигураций запуска.
    • Нажмите на "Edit Configurations" (Редактировать конфигурации).
  2. Добавьте новую конфигурацию:

    • Нажмите на "+" и выберите "Shell Script".
    • В поле "Script path" укажите путь к вашему скрипту, используя формат /mnt/c/Users/pcl/PycharmProjects/test-1/test-1.sh.
    • В поле "Interpreter path" укажите путь к вашему интерпретатору, то есть bash.exe или /bin/bash.
  3. Запуск скрипта:

    • После сохранения конфигурации, выберите её из выпадающего меню и нажмите кнопку "Run" (Запуск). Это выполнит ваш скрипт в контексте среды WSL.

Альтернативные методы

Если вы чаще работаете с WSL и предпочитаете более тесную интеграцию, вы можете:

  • Использовать Direct Execution: В терминале WSL выполните команду bash /mnt/c/Users/pcl/PycharmProjects/test-1/test-1.sh для запуска скрипта.
  • Создать makefile: Если ваши задачи сложные, рассмотрите возможность использования makefile, чтобы управлять скриптами и их зависимостями.

Заключение

Ваша проблема связана с различиями в пути между Windows и WSL, и настройка пути для ваших скриптов на правильный формат является ключом к решению данной проблемы. Воспользуйтесь описанными настройками для успешного выполнения shell-скриптов в PyCharm на Windows 10 с использованием WSL. Это позволит вам эффективно работать в Windows, не теряя преимуществ, предоставляемых Linux-средой.

Оцените материал
Добавить комментарий

Капча загружается...