我目前正在尝试使用Scala运行一个程序,该程序利用对Python脚本的系统调用。
我在带有virtualenv和anaconda的特定路径上安装了Python 3.7.3。机器上的默认python3解释为3.4.9,具有不同的库。我无法控制/ usr / bin目录(3.4.9)中的python。
当我从anaconda环境中运行scala程序时,总会以某种方式从/ usr / bin运行Python3而不是anaconda环境。就像anaconda virtualenv已重新启动或擦除一样。有办法解决这个问题吗?
调用Python脚本的scala代码为:
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代码,但如果需要的话也可以。
如果这样做,我觉得我需要在Shell中添加一个命令来重新启动virtualenv(命令的源bin / activate样式),但不确定确切的位置。