为R安装Keras和Tensorflow时报r-reticulate环境python=3.7安装失败如何解决
R安装Keras与Tensorflow失败的解决方法
问题根源
报错的核心原因是use_condaenv配置未生效:reticulate包的Python环境配置必须在加载keras、tensorflow包之前执行,你先加载了相关包再指定环境,初始化完成的配置不会更新,因此安装时默认调用了reticulate自带的r-reticulate兜底环境,才会出现路径不符合预期、安装python3.7失败的问题。
最简安装步骤
前置准备
完全重启R会话(使用RStudio建议直接关闭重启,不要恢复历史工作区),确保没有任何reticulate、keras、tensorflow相关包被加载。
步骤1:提前指定Conda环境
执行以下代码,注意把路径替换为你自己的Miniconda 绝对路径,不要只用相对名miniconda3:
# 第一步必须先加载reticulate指定环境,优先级最高 library(reticulate) # 路径示例:Windows为C:/Users/你的用户名/miniconda3,Mac/Linux为/Users/你的用户名/miniconda3 use_condaenv("替换为你的Miniconda绝对路径", required = TRUE) # 验证配置:输出的Python路径符合你的预期再继续后续操作 py_config()
步骤2:安装R端依赖包
install.packages(c("keras", "tensorflow"))
步骤3:安装Python端框架
不需要同时执行install_keras和install_tensorflow,install_keras会自动安装适配版本的TensorFlow,避免版本冲突:
library(keras) library(tensorflow) # 指定用你自己的Conda环境安装,不会改动原有r-reticulate环境 install_keras(method = "conda", envname = "替换为你的Miniconda绝对路径", version = "release") # 验证安装:成功输出张量则安装完成 tf$constant("Install success!")
保留r-reticulate环境的方案
如果需要保留原有r-reticulate环境做R Markdown混编,建议单独新建一个Conda环境用来跑Keras/TensorFlow,两类环境完全独立互不影响:
- 先通过Miniconda新建一个名为
r-tf的独立环境 - 安装时把上述步骤中的envname替换为
r-tf的绝对路径即可 - 编写R Markdown需要混编时,再切换回r-reticulate环境即可
内容的提问来源于stack exchange,提问作者Alox
相关产品推荐
相关产品推荐

