Go exe c .Cmd (), в результате чего скрипт Python не импортирует модуль? - PullRequest
1 голос
/ 24 апреля 2020

У меня есть следующий код Go, выполняющий внешний сценарий Python.

package main

import (
    "log"
    "os"
    "os/exec"
    "fmt"
)
func main(){

  //Call Python script
  cmd := exec.Command(`C:\Python35\python35.exe`, `C:\...\py_file.py`)
  cmd.Stdout = os.Stdout
  cmd.Stderr = os.Stderr
  log.Println(cmd.Run())

}

Это вызывает эту ошибку в файле Py:

ImportError: No module named 'youtube_transcript_api'

Однако, если я запускаю файл Py самостоятельно, он работает отлично. Он должен вывести JSON.

Я что-то упустил? Дайте мне знать, если вам нужно больше информации!

Большое спасибо, M2com

1 Ответ

1 голос
/ 25 апреля 2020

1) Windows

Прежде всего, сделайте ваш исполняемый скрипт python и anfInclude python интерпретатором в переменной среды

например:

cmd := exec.Command("script.py") //file path C:\...\py_file.py cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr log.Println(cmd.Run())

2) Linux

Прежде всего не забудьте сделать исполняемый скрипт python исполняемым (разрешения и #! / Usr / local / bin / python в начале

Например:

cmd := exec.Command("bash", "-c", "python3 script.py")
_, err = cmd.Output()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...