R Yoda
R Yoda

Reputation: 8750

R FAQ for package tcltk mentions "teacup". What is this and how can I use it?

In the R FAQ section 4.6 (Package TclTk does not work) I found the following sentence:

... although they [missing Tcl/tk packages] may be downloaded via the Teacup facility

What is "teacup"? How can I install and use it?

I am using RStudio running on Ubuntu Linux and Windows 7.

Upvotes: 0

Views: 202

Answers (1)

Donal Fellows
Donal Fellows

Reputation: 137557

Teacup is a program that ships as part of ActiveTcl, a commercial zero-cost distribution of Tcl (and Tk and many other packages) for various platforms. It does package management, looking after the key part that is download, installation and upgrading of packages from a remote repository. It is not open source, though Tcl itself is (as are the majority of packages that aren't single-company-specific).

If you've got it installed, you use these commands from a shell:

teacup update-self
teacup update

Depending on where your Tcl installation is, you might need to elevate privileges to make these command calls work. How you do this is platform-dependent; on Unix it's usually simplest to use sudo for each of the commands, whereas on Windows it is probably easier to create an elevated command shell and run inside that.

Depending on your site, you might need to configure a web proxy with teacup proxy. Try without first.


If you're using a non-ActiveTcl installation but you have an ActiveTcl installation present, you can still use teacup. You just need to use teacup link to connect that Tcl installation to the teacup local repository. This is slightly more complex because you can have multiple repositories on the one system (though I've never needed that).

First, you find where the repository is:

teacup default

Then you need to link the shell to the repository:

teacup link make $PATH_FROM_TEACUP_DEFAULT $LOCATION_OF_TCLSH_TO_LINK

Making this work with R Studio will be a matter of determining which Tcl installation it is using. If it's already an ActiveTcl, you just need the first part of this answer. Otherwise, you need the second part as well. Also note that pretty much requires that you be using either Tcl 8.5 or 8.6; there are no guarantees for older, unsupported versions.

Upvotes: 1

Related Questions