Pai*_*one 6 python r poisson rpy2 anaconda
我以前从未在 python 中使用过 R 代码,但想这样做是为了实现一些泊松回归模型。这样做的原因是效率(泊松回归的 R 代码效率更高)。我尝试通过在终端中输入以下内容来安装 rpy2:
conda 安装-cr rpy2
我也尝试使用 pip install 但没有成功。当我尝试在终端中运行它时,它会在终端本身返回以下错误:
解决环境:current_repodata.json 中的 repodata 失败,将使用下一个 repodata 源重试。收集包元数据 (repodata.json):已完成 解决环境:初始冻结解决失败。使用灵活的解决方案重试。解决环境: / 发现冲突!寻找不兼容的包。这可能需要几分钟的时间。按 CTRL-C 中止。失败的
UnsatisfiableError:发现以下规范与您环境中现有的 python 安装不兼容:
规格:
你的Python:python=3.8
如果 python 位于链的最左侧,则这就是您要求的版本。当 python 出现在右侧时,表明左侧的内容在某种程度上不适用于您所限制的 python 版本。请注意,除非您明确指定,否则 conda 不会将您的 python 版本更改为不同的次要版本。
使用 pip install 并运行一些引用 rpy2 模块的代码后,我收到以下错误:
import rpy2.robjects as robjects
import rpy2.robjects.packages as rpackages
from rpy2.robjects.vectors import StrVector
package_names = ('stats')
if all(rpackages.isinstalled(x) for x in package_names):
have_package = True
else:
have_package = False
if not have_package:
utils = rpackages.importr('utils')
utils.chooseCRANmirror(ind=1)
packnames_to_install = [x for x in package_names if not rpackages.isinstalled(x)]
if len(packnames_to_install) > 0:
utils.install_packages(StrVector(packnames_to_install))
Run Code Online (Sandbox Code Playgroud)
OSError:无法加载库“/Users/name/opt/anaconda3/lib/R/lib/libR.dylib”:dlopen(/Users/name/opt/anaconda3/lib/R/lib/libR.dylib,2):未加载库:@rpath/libreadline.6.2.dylib 引用自:/Users/name/opt/anaconda3/lib/R/lib/libR.dylib 原因:找不到图像
NameError:名称“rpackages”未定义
有谁知道如何在 python 3.8 中成功使用 rpy2 ?这似乎是 anaconda 的常见问题,但我在网上找不到任何可行的解决方案。非常感谢您提供的任何帮助!
rpy2 在 conda 的默认通道中不可用。尝试:
\n conda install -c conda-forge rpy2\nRun Code Online (Sandbox Code Playgroud)\n它使用 conda-forge 通道。
\n编辑:实际上,我发现最好的方法是:
\n使用 miniconda 发行版。
\n创建特定于项目的 conda 环境。
\n激活这个环境。
\n安装 conda 默认通道中可用的所有 conda 软件包。
\n然后
\n pip install rpy2\nRun Code Online (Sandbox Code Playgroud)\n有关更多详细信息:https ://www.anaconda.com/blog/using-pip-in-a-conda-environment
\n