【问题标题】:adding RMySQL package to R fails (on Windows)?将 RMySQL 包添加到 R 失败(在 Windows 上)?
【发布时间】:2011-06-14 17:31:06
【问题描述】:

我不知道为什么我的 RMySQL 包无法安装 - 这就是我得到的:

> install.packages('RMySQL',type='source')
trying URL 'http://cran.mirrors.hoobly.com/src/contrib/RMySQL_0.7-5.tar.gz'
Content type 'application/x-gzip' length 160769 bytes (157 Kb)
opened URL
downloaded 157 Kb

* installing *source* package 'RMySQL' ...
ERROR: configuration failed for package 'RMySQL'
* removing 'C:/PROGRA~1/R/R-212~1.0/library/RMySQL'

The downloaded packages are in '(foo)'

Warning message:
In install.packages("RMySQL", type = "source") : installation of package 'RMySQL' had    non-zero exit status

我认为 MySQL 安装没有问题,因为正确的值似乎在注册表中:

> Sys.getenv('MYSQL_HOME')
                 MYSQL_HOME "C:/PROGRA~1/MySQL/MYSQLS~1.1/" 
> readRegistry("SOFTWARE\\MySQL AB", hive="HLM", maxdepth=2)
$`MySQL Server 5.1`
$`MySQL Server 5.1`$DataLocation
[1] "C:\\Documents and Settings\\All Users\\Application Data\\MySQL\\MySQL Server 5.1\\"

$`MySQL Server 5.1`$FoundExistingDataDir 
[1] "0"

$`MySQL Server 5.1`$Location 
[1] "C:\\Program Files\\MySQL\\MySQL Server 5.1\\"

$`MySQL Server 5.1`$Version
[1] "5.1.54"

困惑。任何帮助将不胜感激!

【问题讨论】:

  • 没有使用过这个包的经验,但是你试过 Windows 二进制文件吗?即,只是install.packages("RMySQL")。我不知道这个包是否包含 C/C++/FORTRAN,但如果包含,那么你必须在 R 中设置编译器。我在?install.packages 找到了这个:使用 type = "source" 的包有效在 Windows 上,前提是该软件包不包含需要编译的 C/C++/Fortran 代码,否则您将需要按照“R for Windows FAQ”中的说明安装 Rtools 集合,并且您必须按照 Rtools 的要求设置 PATH。
  • @richardh 此软件包没有 Windows 二进制版本。

标签: mysql r package rmysql


【解决方案1】:

基本流程描述here,但有几个提示,所以我将描述整个解决方案(如果需要请更改R版本和路径)

  1. here 安装最新的 RTools
  2. 安装 MySQL 或 mysql 的头文件和库文件
  3. 创建或编辑文件C:\Program Files\R\R-2.12.1\etc\Renviron.site 并添加类似MYSQL_HOME=C:/mysql 的行(你的mysql 文件的路径)
  4. 将 libmysql.lib 从 mysql/lib 复制到 mysql/lib/opt 以满足依赖关系。
  5. 将 libmysql.dll 复制到C:\Program Files\R\R-2.12.1\binwindows/system32 目录。
  6. 运行 install.packages('RMySQL',type='source') 并等待编译结束。

这在 Windows 7 64 位上对我有用,所以 32 位版本应该没有问题

最初发布here(类似问题)。

【讨论】:

  • 成功!我认为关键是第 5 步 - 将 libmysql.dll 复制到 R 文件夹中。没有看到其他任何地方的建议。
  • 缺少的步骤
  • re: #3,这个文件在 R 2.15.2 里改成 Rcmd_environ 了吗?
  • 是的,安装成功。现在如何从 R 命令提示符使用 MySQL?
  • 我遇到了同样的问题,在完成上述所有操作后,我需要将“libmysql.dll”文件复制到 MySQL 目录的最后一步:C:/Program Files/MySQL/MySQL Server 5.6/斌。我正在运行 Windows Server 8、R-3.0.2、MySQL Server 5.6 我不知道为什么需要这样做,但我在另一个页面上找到了这一步,并且当我这样做时它起作用了。
【解决方案2】:

我遇到了这个在 Windows7 64 位下安装 RMySQL 的分步指南。

http://www.ahschulz.de/2013/07/23/installing-rmysql-under-windows/

我使用的软件有:

  1. Windows 8 操作系统
  2. R3.0.2 - 64 位
  3. Rtools 3.1
  4. MySQL 服务器社区版 5.6 - 64 位

按照上述指南(提供屏幕截图),我的 RMySQL 包的安装和加载工作正常。

非常感谢 Arne Hendrik Schulz!

【讨论】:

    【解决方案3】:

    以下在红帽 linux 中为我工作

    wget http://cran.r-project.org/src/contrib/RMySQL_0.9-3.tar.gz
    sudo R CMD INSTALL  --configure-args='--with-mysql-inc=/usr/include/mysql' --configure-args='--with-mysql-lib=/usr/lib64/mysql' RMySQL_0.9-3.tar.gz
    

    【讨论】:

    • debian 的另一个选项:sudo apt-get install libdbd-mysql libmysqlclient-dev
    【解决方案4】:

    18 个月后,新的笔记本电脑,同样的问题。回到犯罪现场——对不起 2011 年 1 月的自己;我们在未来,但这个安装仍然没有任何乐趣。

    经验教训:

    -更新的 RTools 是必不可少的。获取them

    -您是否看到类似于.onLoad failed in loadNamespace() for 'RMySQL', details 的错误?这似乎意味着您的系统环境变量存在问题。

    在 R 中,运行

    Sys.getenv('MYSQL_HOME')
    

    如果它吐出类似的路径

     [1] "C:\\Program Files\\MySQL\\MySQL Server 5.6"
    

    你很好。但如果它给你空字符串,你需要设置它。

    这些都是 Windows 7 的方向,但如果没记错的话,过程在 XP 中非常相似。

    1) 调出系统属性 > 高级 > 环境变量。

    2) 在下方的“系统变量”窗格中,单击“新建”。

    3) 变量名是MYSQL_HOME,值是你的MySQL安装路径——我的是C:\Program Files\MySQL\MySQL Server 5.6

    较新版本的 MySQL 似乎没有在安装时创建环境变量 - 这和 RMySQL 缺乏二进制文件解释了为什么这个问题获得了 8,000 次点击。

    -仍然卡住?以下是另外两篇深入的文章:12

    【讨论】:

    • 我仍然有这个问题。我有 R 版本 x64 3.0.1 和 RStudio 版本 0.97.551 最新版本的 Rtools 版本 3.1.0.1936。我的Sys.getenv('MYSQL_HOME') 吐出的值和你一样——这对我来说也是正确的。但是,我仍然得到原来的错误......有什么想法吗?
    • 我解决了我的问题 - 这是因为 RTools 安装得很好。
    【解决方案5】:

    我最近两天一直在用 RMySQL 包安装 R,终于找到了解决方案,这里是安装 RMySQL 包的步骤:-

    1. 从以下链接下载软件: *一种。 R2.13.2:从http://cran.stat.sfu.ca/index.html下载R

        b. RTools 214:  Download RTools from http://cran.cict.fr
      
        c. RMySQL 0.8-0.tar.gz: Download RMySQL from 
        http://biostat.mc.vanderbilt.edu/wiki/main/RMySQL/RMySQL_0.8-0.tar.gz
      
        d. MySQL Server 5.0: download it from http://dev.mysql.com
      
        e. RSTUDIO (optional): download it from http://rstudio.org*
      
    2. 设置以下环境变量

       * a. MYSQL_HOME : <drive>/path to MySQL installation folder
            e.g. MYSQL_HOME= C:\Program Files\MySQL\MySQL Server 5.5\ 
      
        b. R_HOME: <drive>/path to R installation
           e.g. R_HOME=C:\Program Files\R\R-2.13.2\
      
        c. PATH: Modify path to accommodate the above variables. *
      

      确保您的 Windows PATH 变量中包含以下路径: \Rtools\2.14\bin \Rtools\2.14\MinGW\bin \Rtools\2.14\MinGW64\bin

    3. 创建文件夹并复制文件

      一个。 OPT:在 C:\Program Files\MySQL\MySQL Server 5.5\lib 下创建一个文件夹 OPT 并复制
      MYSQLLIB.LIB 上面的路径。还将 libmysql.dll 复制到 \\R\R-2.14.0\bin\(64 位)或 \\R\R-2.14.0\bin\i386\(32 位)和 C:\Windows\System32。

    b. Renviron.site:创建或编辑文件 \\R\R-2.14.0\etc\Renviron.site 并添加一个 行:MYSQL_HOME =”C:/Program Files/MySQL/MySQL Server 5.5/” 注意:在此处使用正斜杠和双引号

    c。 libMySQL.dll:将此文件复制到 C:\Program Files\R\R-2.13.2\bin\i386 以及 C:\Program 文件\R\R-2.13.2\bin

    1. 运行命令

      一个。 Install.Packages:通过单击桌面上的 R 图标或从开始菜单运行 R GUI。类型 INSTALL.PACKAGES(“RMySQL”,类型=“来源”)。这将从存储库下载所需的软件。

    b.命令提示符:复制下载的 zip 文件(在步骤 4.a.中)并将其粘贴到 R 下 安装文件夹。转到开始菜单并打开命令提示符。转到 R 安装文件夹并输入 R CMD INSTALL RMySQL_0.8-0.tar.gz

      *COMMANDS:
      >library(RMySQL)
       >drv = dbDriver("MySQL")
       >con = dbConnect(drv,host="localhost",dbname="test",user="root",pass="root")
       >album = dbGetQuery(con,statement="select * from t_master")
       >album*
    

    【讨论】:

      【解决方案6】:

      将 MySQL 和 RTools 目录添加到 PATH!

      这是我的路径; ~blah~;C:\Program Files\MySQL\MySQL Server 5.5\bin;c:\rtools\bin;C:\Rtools\gcc-4.6.3\bin;

      【讨论】:

        【解决方案7】:

        我创建了一个可能对人们有用的二进制文件:

        http://kenahoo.blogspot.com/2011/09/rmysql-binary-for-windows-7.html

        我基本上遵循了所有这些指示,包括范德比尔特页面上的指示,但出于某种原因,它似乎并不总是有效。无论如何,希望这对拥有与我使用的相同版本的东西的人有所帮助。

        【讨论】:

        • 谢谢,它是用 MySQL 5.5.15 编译的,但它似乎也适用于 MySQL 5.6.12!
        【解决方案8】:

        但是,您目前还有一个额外要求(使用 MySQL 服务器版本 5.5 和 R2.12.1),请按照当前 http://biostat.mc.vanderbilt.edu/wiki/Main/RMySQL 说明作为libmySQL.dll 与包中的预期不同。

        即用于 64 位编译。 它期望 libmySQL.dll 位于 "${MYSQL_HOME}"/bin/libmySQL.dll 所以只需将 dll 复制到 /bin 目录,它现在就可以编译了。

        用于 32 位编译。 libmySQL.lib 预计在 "${MYSQL_HOME}"/lib/opt/libmysql.lib 再次移动这应该可以解决问题。

        或者,如果您不想或无法移动这些文件。然后您可以编辑源代码文件: Makevars.win Makevars.win32 Makevars.win64 适当地指向 /lib/libmysql.dll /lib/libmysql.lib

        【讨论】:

          【解决方案9】:

          我在使用 R 2.12.1 x64 的 Windows 7 上遇到了同样的问题,并通过以下方式解决:

          1. 将我的PATH 变量中的R 目录更改为C:\Program Files\R\R-2.12.1\bin\x64(而不仅仅是...\R-2.12.1\bin)。
          2. ...\MySQL Server 5.5\lib\libmysql.dll复制到...\MySQL Server 5.5\bin\
          3. 在 cmd.exe 中运行 R CMD INSTALL RMySQL_0.7-5.tar.gz(R 中的 install.packages('RMySQL',type='source') 仍然无法正常工作)。

          【讨论】:

          • 你用的是64位的mysql还是32位的?
          【解决方案10】:

          正如马雷克所说。此软件包没有 Windows 二进制文件。当我尝试安装 RPostgreSQL(因为 Mac 没有二进制文件)时,我在我的 Mac 上遇到了类似的问题,最后我不得不自己编译它并修改几个文件。

          对于 MySQL 部分(如果您对 MySQL 不太了解),您可能希望使用WAMP,这无疑超出了您的需要,但易于安装以及启动和关闭。

          如需编译帮助,您可能对Rtools 感兴趣

          HTH

          顺便说一句:你运行什么样的窗口(对不起,如果我错过了)

          【讨论】:

            【解决方案11】:

            首先我会尝试按照此页面上的说明进行操作:http://biostat.mc.vanderbilt.edu/wiki/Main/RMySQL

            然后,确保您的计算机上确实有一个 MySQL 客户端,而不仅仅是服务器本身。我自己遇到了一个问题,我必须为客户端使用较旧的二进制文件,但您可以从 mysql 网站下载这些文件。

            【讨论】:

              猜你喜欢
              • 2022-10-18
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多