Я пишу программу, которая должна работать как на Linux, так и на Windows и использовать исполняемые файлы (с параметрами), которые существуют в пути. (Предположительно)
В настоящее время у меня возникают проблемы с запуском исполняемых файлов в Windows с помощью Subprocess.Call и Subprocess.Popen.
Для кода, подобного этому, в окнах 8
def makeBlastDB(inFile, inputType, dbType, title, outDir):
strProg = 'makeblastdb'
strInput = '-in ' + inFile
strInputType = '-input_type ' + inputType
strDBType = '-dbtype ' + dbType
strTitle = '-title ' + title
strOut = '-out ' + os.path.join(os.sep, outDir, title)
cmd = [strProg, strInput, strInputType, strDBType, strTitle, strOut]
result = Popen(cmd, shell=True)
Я получаю сообщение об ошибке в консоли
'makeblastdb' is not recognized as an internal or external command,
operable program or batch file.
Хотя я могу запустить ту же команду, используя cmd.exe, я получаю тот же ответ с shell = False.
Любые идеи о том, как я могу запустить команду, предполагая, что исполняемый файл находится в переменной среды PATH? благодаря