Kurze Frage: Ich möchte die postgresqlWriteTable
Funktion in der RPostgreSQL
-Paket bearbeiten und installieren Sie es auf R auf einem Ubuntu-Rechner ausgeführt.Änderung der Funktion in R-Paket und Installation unter Ubuntu
Lange Erklärung:
Die Wurzel meines Problems ist, dass ich auf eine Postgres-Tabelle mit einem automatischen Primärschlüsselspalt von R zu schreiben versuchen mit dbWriteTable
von RPostgreSQL
Paket.
Ich las diesen Beitrag: How do I write data from R to PostgreSQL tables with an autoincrementing primary key?, die eine Lösung für mein Problem vorgeschlagen, indem Sie die Funktion postgresqlWriteTable
in der RPostgreSQL
-Paket ändern. Es funktioniert, wenn ich interaktiv fixInNamespace
in OSX-Umgebung verwende und die Funktion bearbeite.
Leider muss ich mein Skript auf einer AWS-Instanz ausführen, die R auf Ubuntu ausführt. Ich habe RPostgreSQL
an dieser Stelle auf meiner Maschine installiert: /usr/local/lib/R/site-library/RPostgreSQL
. Ich installierte es durch Aufruf R CMD install RPostgreSQL_0.4-1.tar.gz
Jetzt versuche ich, die Funktion postgresqlWriteTable
zu finden. Es soll in der Datei PostgreSQLSupport.R
sein. Ich habe die ganze Bibliothek durchsucht - es gibt keine solche Datei.
Ich erkannte, dass auf meinem lokalen Computer im OSX Finder, wenn ich den tar.gz Paketordner entzippen, kann ich die Datei PostgreSQLSupport.R
sehen, wo ich die Funktion ändern soll.
Also habe ich die Funktion geändert. Dann entfernte ich die installierte RPostgreSQL von meinem Ubuntu-Rechner und kopierte die neuen Ordner (von meinem lokalen Rechner) in meine Ubuntu-Maschine und versuchte devtools
zu verwenden, um das Paket zu installieren, wie hier in der Post vorgeschlagen: Loading an R Package from a Custom directory
hier ist das, was passiert ist:
> library("devtools")
> install("/usr/local/lib/R/site-library/RPostgreSQL")
Error: Can't find '/usr/local/lib/R/site-library/RPostgreSQL'.
> install("RPostgreSQL", "/usr/local/lib/R/site-library/RPostgreSQL")
Installing RPostgreSQL
'/usr/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet \
CMD INSTALL '/datasci/nikhil/RPostgreSQL' \
--library='/usr/local/lib/R/site-library' --install-tests
* installing *source* package ‘RPostgreSQL’ ...
file ‘R/PostgreSQLSupport.R’ has the wrong MD5 checksum
ERROR: 'configure' exists but is not executable -- see the 'R Installation and Administration Manual'
* removing ‘/usr/local/lib/R/site-library/RPostgreSQL’
Error: Command failed (1)
Ich bin am Ende meines Witzes!
@ dirk.eddelbuettel Willst du da reinkommen, da du einer der Mitwirkenden bist? –
Bitte beachten Sie auch [die Paketautoren kontaktieren] (http://dirk.eddelbuettel.com/code/rpostgresql.html) und vielleicht [ein Problem einreichen] (https://code.google.com/archive/p/rpostgresql /) (obwohl diese Seite eher inaktiv aussieht), falls Sie glauben, dass Ihre Einstellung anderen Benutzern nutzen könnte, ohne die aktuelle Funktionalität zu beeinträchtigen. – MichaelChirico
ehrlich gesagt, ich bin nicht fortgeschritten genug, um das zu wissen, aber @ dirk.eddelbuettel ist einer der Mitwirkenden zu 'RPostgreSQL' und er wurde getaggt. – vagabond