簡體   English   中英

將RMySQL包添加到R失敗(在Windows上)?

[英]adding RMySQL package to R fails (on Windows)?

我無法弄清楚為什么我的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"

困惑。 任何幫助將不勝感激!

這里描述基本過程,但有幾個提示,所以我將描述整個解決方案(如果需要,請更改R版本和路徑)

  1. 這里安裝最新的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位版本應該沒有問題

最初發布在這里 (類似的問題)。

首先,我會嘗試按照此頁面上的說明進行操作: http//biostat.mc.vanderbilt.edu/wiki/Main/RMySQL

然后,確保您的計算機上確實有一個MySQL客戶端,而不僅僅是服務器本身。 我自己有一個問題,我不得不為客戶端使用舊的二進制文件,但你可以從mysql網站下載這些。

我創建了一個可能適用於人們的二進制文件:

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

我基本上遵循了所有這些方向,包括Vanderbilt頁面上的方向,但出於某種原因,它似乎並不總是有效。 無論如何,希望這可能對我使用相同版本的東西的人有所幫助。

我偶然發現了在Windows7 64bit下安裝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!

我在使用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.gzR CMD INSTALL RMySQL_0.7-5.tar.gz中的install.packages('RMySQL',type='source')仍然無效)。

我在使用RMySQL包安裝R的最后2天工作,最后得到了解決方案,這里是安裝RMySQL包的步驟: -

  1. 從以下鏈接下載軟件:* a。 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 eg MYSQL_HOME= C:\\Program Files\\MySQL\\MySQL Server 5.5\\ b. R_HOME: <drive>/path to R installation eg 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。

Renviron.site:創建或編輯文件\\\\ R \\ R-2.14.0 \\ etc \\ Renviron.site並添加一行:MYSQL_HOME =“C:/ Program Files / MySQL / MySQL Server 5.5 /”NB:USE FORWARD SLASH這里有雙重報價

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

  1. 運行命令

    一個。 Install.Packages:通過單擊桌面上的R圖標或從“開始”菜單運行R GUI。 輸入INSTALL.PACKAGES(“RMySQL”,type =“Sources”)。 這將從存儲庫下載所需的軟件。

命令提示符:復制下載的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*

18個月后,新筆記本電腦,同樣的問題。 回到犯罪現場 - 對不起2011年1月的自我; 我們將來,這個安裝仍然沒有任何樂趣。

得到教訓:

- 更新的RTools是必不可少的 得到他們

- 您是否看到.onLoad failed in loadNamespace() for 'RMySQL', details錯誤.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次點擊。

- 還沒卡住? 這里有兩個附加的深入writeups: 12

以下為red hat 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

正如馬雷克所說。 此軟件包沒有Windows二進制文件。 當我嘗試安裝RPostgreSQL時,我在Mac上遇到了類似的麻煩(因為Mac沒有二進制文件),最后我必須自己編譯並修改幾個文件。

對於MySQL部分(如果你對MySQL不太了解),你可能想要使用WAMP ,這肯定比你需要的更多,但易於安裝和啟動和關閉。

對於某些編譯幫助,您可能對Rtools感興趣

HTH

BTW:你跑什么樣的窗戶(sry,如果我錯過的話)

然而,您目前還有一個額外的要求(使用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

將MySQL和RTools目錄添加到PATH!

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM