Windows10安装minerl模块遇legacy-install-failure及tools.jar缺失求助
问题
- 系统:Windows 10
- Python版本:3.10.1
- 操作:尝试安装minerl模块开发Minecraft智能机器人
- 报错:
legacy-install-failure,核心错误为找不到tools.jar,提示检查C:\Program Files\Java\jre1.8.0_361是否为有效JDK安装 - 已尝试:安装Java 8 Update 361(x64)和Java SE Development Kit 8 Update 361,重新安装JDK和Java,问题未解决
具体错误日志
编译阶段核心错误
> Task :compileJava FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileJava'. > Could not find tools.jar. Please check that C:\Program Files\Java\jre1.8.0_361 contains a valid JDK installation.
pip安装日志末尾内容
BUILD FAILED in 5m 48s 20 actionable tasks: 20 executed Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 34, in <module> File "C:\Users\Trinometra\AppData\Local\Temp\pip-install-61k4nuvk\minerl_e8c585976cc144989e513c08059a2d1d\setup.py", line 167, in <module> setuptools.setup( File "C:\Users\Trinometra\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\__init__.py", line 153, in setup return distutils.core.setup(**attrs) File "C:\Users\Trinometra\AppData\Local\Programs\Python\Python310\lib\distutils\core.py", line 148, in setup dist.run_commands() File "C:\Users\Trinometra\AppData\Local\Programs\Python\Python310\lib\distutils\dist.py", line 966, in run_commands self.run_command(cmd) File "C:\Users\Trinometra\AppData\Local\Programs\Python\Python310\lib\distutils\dist.py", line 985, in run_command cmd_obj.run() File "C:\Users\Trinometra\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\command\install.py", line 61, in run return orig.install.run(self) File "C:\Users\Trinometra\AppData\Local\Programs\Python\Python310\lib\distutils\command\install.py", line 580, in run self.run_command(cmd_name) File "C:\Users\Trinometra\AppData\Local\Programs\Python\Python310\lib\distutils\cmd.py", line 313, in run_command self.distribution.run_command(command) File "C:\Users\Trinometra\AppData\Local\Programs\Python\Python310\lib\distutils\dist.py", line 985, in run_command cmd_obj.run() File "C:\Users\Trinometra\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\command\install_lib.py", line 11, in run self.build() File "C:\Users\Trinometra\AppData\Local\Temp\pip-install-61k4nuvk\minerl_e8c585976cc144989e513c08059a2d1d\setup.py", line 88, in build build_minecraft(MALMO_DIR, os.path.join( File "C:\Users\Trinometra\AppData\Local\Temp\pip-install-61k4nuvk\minerl_e8c585976cc144989e513c08059a2d1d\setup.py", line 141, in build_minecraft subprocess.check_call('{} -g run/gradle shadowJar'.format(gradlew).split(' ')) File "C:\Users\Trinometra\AppData\Local\Programs\Python\Python310\lib\subprocess.py", line 369, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['gradlew.bat', '-g', 'run/gradle', 'shadowJar']' returned non-zero exit status 1. building Minecraft from C:\Users\Trinometra\AppData\Local\Temp\pip-install-61k4nuvk\minerl_e8c585976cc144989e513c08059a2d1d\minerl\Malmo, build dir: build\lib\minerl\Malmo copying source dir CALLING SETUP. [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure × Encountered error while trying to install package. ╰─> minerl
解决方法
修正JAVA_HOME环境变量
打开系统环境变量设置:- 创建或修改
JAVA_HOME变量,值设为JDK的安装路径(比如C:\Program Files\Java\jdk1.8.0_361),不要指向JRE目录。 - 在
Path变量中添加%JAVA_HOME%\bin,并移到列表最顶端,确保系统优先使用JDK的Java版本。 - 保存设置后重启命令行窗口,执行
java -version和javac -version确认输出的是JDK 8版本。
- 创建或修改
手动复制tools.jar
找到JDK安装目录下lib文件夹中的tools.jar,复制到JRE目录的lib文件夹(C:\Program Files\Java\jre1.8.0_361\lib),临时解决找不到文件的问题。降级Python版本
minerl对Python 3.10的兼容性不佳,建议降级到Python 3.8或3.9版本,重新执行安装命令:python -m pip install minerl检查Gradle运行环境
安装过程中Gradle调用失败,可确保Gradle使用正确的JDK:- 如果已安装Gradle,设置
GRADLE_HOME环境变量指向其安装目录。 - 或者在执行pip安装前,先通过
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_361临时指定JDK路径。
- 如果已安装Gradle,设置
内容的提问来源于stack exchange,提问作者Kryw_Nayrod
相关产品推荐
相关产品推荐

