【发布时间】:2020-11-19 16:20:02
【问题描述】:
我正在尝试执行一个 python 函数,该函数写在一个 .py 文件中,该文件来自我部署到 AWS EC2 的 java 项目(spring boot)。
一开始我在资源文件夹中找到了 .py 文件,但它不能正常工作,所以我将 .py 文件上传到 S3 并在每次需要时从那里下载。
我使用以下来运行python文件:
Process processBuilder = Runtime.getRuntime().exec("python word2vec.py");
本地效果很好,但是由于 word2vec.py 具有依赖项,例如 gensim,因此在 EC2 实例(基于 Linux)中执行时,我收到错误“ImportError:没有名为 gensim 的模块”,这是有道理的,因为我没有t 将其安装在机器上。
使用 Python 的 IntelliJ 插件我在项目中创建了一个虚拟环境并安装了 gensim 以便它在本地工作,有没有办法在 EC2 实例中做到这一点?
由于项目打包成jar文件,即使.py位于资源文件夹,“Runtime.getRuntime().exec(...)”函数也无法访问,我得到“找不到文件”。
有没有办法将所有内容保存在 java 项目/jar 中?或者我需要在 EC2 实例上手动安装 python 虚拟环境?
【问题讨论】:
标签: java python amazon-web-services spring-boot amazon-ec2