shebang не работает на WSL (Windows, Linux)

#python #python-3.x #windows-subsystem-for-linux #shebang

Вопрос:

Я установил WSL (Ubuntu 18.04) в Windows 10 для использования вместо параллельной 2 ОС. Однако, когда я использовал shebang, я не смог успешно запустить сценарий с именем test_file.py . Сначала я создал папку с именем test_project . В этой папке я создал:

  • src Папка, содержащая простой скрипт Python, показана следующим образом
     #!/usr/bin/env python3                 
    print("Hello world")
     
  • Папка среды Python с именем environment through python3 -m venv environment/ (я использую Python 3.6)

Проблема в том, что когда я вошел в среду и набрал некоторые команды, как в прикрепленном файле python с изображением запуска, программа запустила «команда не найдена», хотя я уже использовал shebang в начале кода.

Кроме того, я также переоделся #!/usr/bin/env #!/usr/bin/python3 и сбежал из окружающей среды, но это тоже не сработало. Только когда я печатал Python3 test_file.py , это работало.

Кто-нибудь сталкивался с этой проблемой раньше? Может ли кто-нибудь объяснить мне, почему это происходит? Мне интересно, отличается ли использование WSL по сравнению с Ubuntu в данном случае, или я пропустил некоторые шаги во время кодирования. Я знаю, что эта проблема обсуждалась ранее, однако я не смог найти ни одного источника, который мог бы решить мою проблему. Я действительно ценю всю вашу помощь.

Комментарии:

1. Вы все еще ищете помощи в этом деле? Когда вы находитесь в своем venv ( environment ), работает ли python3 сам по себе запуск? Что это command -v python3 показывает? Кроме того, вы упомянули Python3 test_file.py -это должно быть в верхнем регистре или это тип? Спасибо!