В настоящее время я пытаюсь запустить программу с Scala, которая использует системные вызовы скриптов Python.
Я установил Python 3.7.3 по определенному пути с помощью virtualenv и anaconda. Интерпретация Python3 по умолчанию на компьютере - 3.4.9 с различными библиотеками. У меня нет контроля над питоном в каталоге / usr / bin (3.4.9).
Когда я запускаю программу scala из моей среды anaconda, то всегда так получается, что она запускает Python3 из / usr / bin вместо среды anaconda. Это как если бы anaconda virtualenv была перезапущена или стерта. Есть ли способ это исправить?
Scala-код, который делает вызовы скрипта Python:
def addToPath(dir:String) : Unit = {
importt("sys")
set(TMP, dir)
exec(s"sys.path.insert(0, $TMP)")
}
def runPythonFile(fn:String) : Unit = {
addToPath(new File(fn).getParent)
jep.runScript(fn)
}
Я бы предпочел не менять код Scala, если это возможно, но это нормально, если мне придется.
Если я это сделаю, я чувствую, что мне нужно добавить команду во время оболочки, которая перезапускает virtualenv (стиль команды bin / activ для исходного кода), но не совсем уверен, где.