Skip to content

[R-pkg-devel] vignette via devtools: sometimes found, sometimes not (same package)

9 messages · Ben Bolker, Georgi Boshnakov, Alexandre Courtiol +3 more

#
Dear all,
I am teaching a class and for that I created a R package that mostly
contains vignettes (the slides of the course).
I host the package on GitHub because I want the students to download every
day the latest version of the package.
Building the vignettes takes a couple of hours so I pre-build the vignettes
using devtools::build_vignettes before pushing my updates to GitHub.
The student install the package using
devtools::install_github("courtiol/LM2GLMM").
Then, they do library(LM2GLMM) and browseVignettes(package = "LM2GLMM")...

... and that works on 2/3 of the computers, for the others it says
vignettes not found.

Any idea why and what can I do to make it 100% success?
Of course on my laptop it works, so I cannot investigate.
Also, since they all use different versions of R, devtools or OS... I would
like to know the one thing that must be changed if it comes from that (but
I am not sure it does).

I have added a back up function that works for the 1/3 of unfortunate
students:

get_vignettes <- function() {
  utils::browseURL(paste0(find.package("LM2GLMM"), "/doc/")) ## for
installed
  utils::browseURL(paste0(find.package("LM2GLMM"), "/inst/doc/")) ## for
development
  return(invisible(NULL))
}

This functions opens de vignette folder and that shows that all the
students actually have the html files installed correctly. But it is ugly
because then they have to find the good html file and so forth, so I would
rather have a better solution.

Many thanks,

Alex
#
I don't have a good solution but wonder if you could narrow down the
problem by getting them to send you sessionInfo() (or
devtools::session_info()) from a clean R session with just devtools
loaded.

  system.file() might be an alternative to paste0 + find.package()
(won't help much with the fundamental problem)



On Mon, Apr 16, 2018 at 9:40 AM, Alexandre Courtiol
<alexandre.courtiol at gmail.com> wrote:
#
Hi,

The problem is indeed difficult to debug but there are things that can be done to narrow it down.

1. Are there 1/3 unlucky computers fixed? (I.e does the problem occur always on the same computers) Also, do you really mean computer or user?

2. Are the students working under R studio? If so, does the same problem appear if the same procedure is run outside R studio.

3. Further to 2.,  You mention development mode - do (some) students also have a copy of your repository? This may be aproblem if they don't update it too.

4. What happens if R is restarted? 

5. It may be worth checking .Rprofle and similar for the concerned computers (or users, see 1.)

Hope this is of some help.


 Georgi Boshnakov
#
Re,

On 16 April 2018 at 17:35, Georgi Boshnakov <
georgi.boshnakov at manchester.ac.uk> wrote:

            
Yes, I mean computer, not user.
I will try tomorrow (but from memory I think the answer will be yes).
No, only me has the devel version.
I will try tomorrow (but I think the answer will be nothing).
I will try as well but most had a fresh install and did not mess with
settings.
I will look at all this and also gather the session infos as Ben suggested.
I think I know how to proceed to get to the bottom of that, but I was just
hoping that the problem was already well known and the answer as well...
If it is for anyone, please reply. Otherwise, I will investigate.
Thanks to everyone.
Alex

  
    
#
Dear Alex,

Have a look at drat
(http://eddelbuettel.github.io/drat/DratForPackageAuthors.html). This
makes it easier to distribute prepackaged R packages (including When
you uploaded a new version, then the student would only have to do
drat::addRepo("your_repo") and then install.pakages("LM2GLMM") or
update.packages()

Best regards,

ir. Thierry Onkelinx
Statisticus / Statistician

Vlaamse Overheid / Government of Flanders
INSTITUUT VOOR NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE
AND FOREST
Team Biometrie & Kwaliteitszorg / Team Biometrics & Quality Assurance
thierry.onkelinx at inbo.be
Havenlaan 88 bus 73, 1000 Brussel
www.inbo.be

///////////////////////////////////////////////////////////////////////////////////////////
To call in the statistician after the experiment is done may be no
more than asking him to perform a post-mortem examination: he may be
able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher
The plural of anecdote is not data. ~ Roger Brinner
The combination of some data and an aching desire for an answer does
not ensure that a reasonable answer can be extracted from a given body
of data. ~ John Tukey
///////////////////////////////////////////////////////////////////////////////////////////




2018-04-16 19:38 GMT+02:00 Alexandre Courtiol <alexandre.courtiol at gmail.com>:
2 days later
#
Thanks a lot Thierry, I was happy to discover and implement a "drat"
installation workflow.
Unfortunately it did not solve the issue (but I will stick to drat).
Also, I checked the sessionInfo() and could not find any package version
discriminating accurately between computers that shows vignettes from those
who do not.
Only Windows computer have the issue but this proves nothing (and other
computers with the same OS version are fine).
Goergi, I did not yet retried outside RStudio (I am trying not to waste too
much time at the beginning of each course...
I wish I could hijack a problematic laptop but they don't let me do it as
they need them).
++
Alex


On 17 April 2018 at 10:42, Thierry Onkelinx <thierry.onkelinx at inbo.be>
wrote:

  
    
#
Dear Alex,

Another idea is to use pkgdown (http://pkgdown.r-lib.org) to convert
all the documentation of your package (include the vignettes) into a
website. Then you make that available to your students, e.g. through
github pages.

Best regards,

ir. Thierry Onkelinx
Statisticus / Statistician

Vlaamse Overheid / Government of Flanders
INSTITUUT VOOR NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE
AND FOREST
Team Biometrie & Kwaliteitszorg / Team Biometrics & Quality Assurance
thierry.onkelinx at inbo.be
Havenlaan 88 bus 73, 1000 Brussel
www.inbo.be

///////////////////////////////////////////////////////////////////////////////////////////
To call in the statistician after the experiment is done may be no
more than asking him to perform a post-mortem examination: he may be
able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher
The plural of anecdote is not data. ~ Roger Brinner
The combination of some data and an aching desire for an answer does
not ensure that a reasonable answer can be extracted from a given body
of data. ~ John Tukey
///////////////////////////////////////////////////////////////////////////////////////////




2018-04-19 18:33 GMT+02:00 Alexandre Courtiol <alexandre.courtiol at gmail.com>:
#
> Dear Alex, Another idea is to use pkgdown
    > (http://pkgdown.r-lib.org) to convert all the
    > documentation of your package (include the vignettes) into
    > a website. Then you make that available to your students,
    > e.g. through github pages.

Hmm, sounds nice .. at first:  In teaching (and research!) I particularly
emphasize people use CRAN (or Bioconductor) packages.

Why on earth is pkgdown not on CRAN ?

Martin Maechler
ETH Zurich

    > Best regards,

    > ir. Thierry Onkelinx Statisticus / Statistician

    > Vlaamse Overheid / Government of Flanders INSTITUUT VOOR
    > NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE
    > AND FOREST Team Biometrie & Kwaliteitszorg / Team
    > Biometrics & Quality Assurance thierry.onkelinx at inbo.be
    > Havenlaan 88 bus 73, 1000 Brussel www.inbo.be

    > ///////////////////////////////////////////////////////////////////////////////////////////
    > To call in the statistician after the experiment is done
    > may be no more than asking him to perform a post-mortem
    > examination: he may be able to say what the experiment
    > died of. ~ Sir Ronald Aylmer Fisher The plural of anecdote
    > is not data. ~ Roger Brinner The combination of some data
    > and an aching desire for an answer does not ensure that a
    > reasonable answer can be extracted from a given body of
    > data. ~ John Tukey
    > ///////////////////////////////////////////////////////////////////////////////////////////




    > 2018-04-19 18:33 GMT+02:00 Alexandre Courtiol
    > <alexandre.courtiol at gmail.com>:
    >> Thanks a lot Thierry, I was happy to discover and
    >> implement a "drat" installation workflow.  Unfortunately
    >> it did not solve the issue (but I will stick to drat).
    >> Also, I checked the sessionInfo() and could not find any
    >> package version discriminating accurately between
    >> computers that shows vignettes from those who do not.
    >> Only Windows computer have the issue but this proves
    >> nothing (and other computers with the same OS version are
    >> fine).  Goergi, I did not yet retried outside RStudio (I
    >> am trying not to waste too much time at the beginning of
    >> each course...  I wish I could hijack a problematic
    >> laptop but they don't let me do it as they need them).
    >> ++ Alex
    >> 
    >> 
    >> On 17 April 2018 at 10:42, Thierry Onkelinx
>> <thierry.onkelinx at inbo.be> wrote:
>>> 
    >>> Dear Alex,
    >>> 
    >>> Have a look at drat
    >>> (http://eddelbuettel.github.io/drat/DratForPackageAuthors.html). This
    >>> makes it easier to distribute prepackaged R packages
    >>> (including When you uploaded a new version, then the
    >>> student would only have to do drat::addRepo("your_repo")
    >>> and then install.pakages("LM2GLMM") or update.packages()
    >>> 
    >>> Best regards,
    >>> 
    >>> ir. Thierry Onkelinx Statisticus / Statistician
    >>> 
    >>> Vlaamse Overheid / Government of Flanders INSTITUUT VOOR
    >>> NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE
    >>> AND FOREST Team Biometrie & Kwaliteitszorg / Team
    >>> Biometrics & Quality Assurance thierry.onkelinx at inbo.be
    >>> Havenlaan 88 bus 73, 1000 Brussel www.inbo.be
    >>> 
    >>> 
    >>> ///////////////////////////////////////////////////////////////////////////////////////////
    >>> To call in the statistician after the experiment is done
    >>> may be no more than asking him to perform a post-mortem
    >>> examination: he may be able to say what the experiment
    >>> died of. ~ Sir Ronald Aylmer Fisher The plural of
    >>> anecdote is not data. ~ Roger Brinner The combination of
    >>> some data and an aching desire for an answer does not
    >>> ensure that a reasonable answer can be extracted from a
    >>> given body of data. ~ John Tukey
    >>> 
    >>> ///////////////////////////////////////////////////////////////////////////////////////////
    >>> 
    >>> 
    >>> 
    >>> 
    >>> 2018-04-16 19:38 GMT+02:00 Alexandre Courtiol
    >>> <alexandre.courtiol at gmail.com>: > Re,
    >>> >
    >>> > On 16 April 2018 at 17:35, Georgi Boshnakov < >
>>> georgi.boshnakov at manchester.ac.uk> wrote:
>>> >
    >>> >> Hi,
    >>> >>
    >>> >> The problem is indeed difficult to debug but there
    >>> are things that can >> be >> done to narrow it down.
    >>> >>
    >>> >> 1. Are there 1/3 unlucky computers fixed? (I.e does
    >>> the problem occur >> always on the same computers) Also,
    >>> do you really mean computer or >> user?
    >>> >>
    >>> >
    >>> > Yes, I mean computer, not user.
    >>> >
    >>> >>
    >>> >> 2. Are the students working under R studio? If so,
    >>> does the same >> problem >> appear if the same procedure
    >>> is run outside R studio.
    >>> >>
    >>> >
    >>> > I will try tomorrow (but from memory I think the
    >>> answer will be yes).
    >>> >
    >>> >>
    >>> >> 3. Further to 2., You mention development mode - do
    >>> (some) students >> also >> have a copy of your
    >>> repository? This may be aproblem if they don't >> update
    >>> >> it too.
    >>> >>
    >>> >
    >>> > No, only me has the devel version.
    >>> >
    >>> >>
    >>> >> 4. What happens if R is restarted?
    >>> >
    >>> >
    >>> > I will try tomorrow (but I think the answer will be
    >>> nothing).
    >>> >
    >>> >
    >>> >> 5. It may be worth checking .Rprofle and similar for
    >>> the concerned >> computers (or users, see 1.)
    >>> >>
    >>> >
    >>> > I will try as well but most had a fresh install and
    >>> did not mess with > settings.
    >>> >
    >>> >>
    >>> >> Hope this is of some help.
    >>> >>
    >>> >
    >>> > I will look at all this and also gather the session
    >>> infos as Ben > suggested.  > I think I know how to
    >>> proceed to get to the bottom of that, but I was > just >
    >>> hoping that the problem was already well known and the
    >>> answer as well...  > If it is for anyone, please
    >>> reply. Otherwise, I will investigate.  > Thanks to
    >>> everyone.  > Alex
    >>> >
    >>> >
    >>> >>
    >>> >>
    >>> >> Georgi Boshnakov
    >>> >>
    >>> >>
    >>> >> ________________________________________ >> From:
    >>> R-package-devel [r-package-devel-bounces at r-project.org]
    >>> on behalf >> of Alexandre Courtiol
    >>> [alexandre.courtiol at gmail.com] >> Sent: 16 April 2018
    >>> 14:40 >> To: List r-package-devel >> Subject:
    >>> [R-pkg-devel] vignette via devtools: sometimes found, >>
    >>> sometimes >> not (same package)
    >>> >>
    >>> >> Dear all, >> I am teaching a class and for that I
    >>> created a R package that mostly >> contains vignettes
    >>> (the slides of the course).  >> I host the package on
    >>> GitHub because I want the students to download >> every
    >>> >> day the latest version of the package.  >> Building
    >>> the vignettes takes a couple of hours so I pre-build the
    >>> >> vignettes >> using devtools::build_vignettes before
    >>> pushing my updates to GitHub.  >> The student install
    >>> the package using >>
    >>> devtools::install_github("courtiol/LM2GLMM").  >> Then,
    >>> they do library(LM2GLMM) and browseVignettes(package =
    >>> >> "LM2GLMM")...
    >>> >>
    >>> >> ... and that works on 2/3 of the computers, for the
    >>> others it says >> vignettes not found.
    >>> >>
    >>> >> Any idea why and what can I do to make it 100%
    >>> success?  >> Of course on my laptop it works, so I
    >>> cannot investigate.  >> Also, since they all use
    >>> different versions of R, devtools or OS... I >> would >>
    >>> like to know the one thing that must be changed if it
    >>> comes from that >> (but >> I am not sure it does).
    >>> >>
    >>> >> I have added a back up function that works for the
    >>> 1/3 of unfortunate >> students:
    >>> >>
    >>> >> get_vignettes <- function() { >>
    >>> utils::browseURL(paste0(find.package("LM2GLMM"),
    >>> "/doc/")) ## for >> installed >>
    >>> utils::browseURL(paste0(find.package("LM2GLMM"),
    >>> "/inst/doc/")) ## >> for >> development >>
    >>> return(invisible(NULL)) >> }
    >>> >>
    >>> >> This functions opens de vignette folder and that
    >>> shows that all the >> students actually have the html
    >>> files installed correctly. But it is >> ugly >> because
    >>> then they have to find the good html file and so forth,
    >>> so I >> would >> rather have a better solution.
    >>> >>
    >>> >> Many thanks,
    >>> >>
    >>> >> Alex
    >>> >>
    >>> >> --
    >>> >> Alexandre Courtiol
    >>> >>
    >>> >> http://sites.google.com/site/alexandrecourtiol/home
    >>> >>
    >>> >> *"Science is the belief in the ignorance of
    >>> experts"*, R. Feynman
    >>> >>
    >>> >> [[alternative HTML version deleted]]
    >>> >>
    >>> >> ______________________________________________ >>
    >>> R-package-devel at r-project.org mailing list >>
    >>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
    >>> >>
    >>> >
    >>> >
    >>> >
    >>> > --
    >>> > Alexandre Courtiol
    >>> >
    >>> > http://sites.google.com/site/alexandrecourtiol/home
    >>> >
    >>> > *"Science is the belief in the ignorance of experts"*,
    >>> R. Feynman
    >>> >
    >>> > [[alternative HTML version deleted]]
    >>> >
    >>> > ______________________________________________ >
    >>> R-package-devel at r-project.org mailing list >
    >>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
    >> 
    >> 
    >> 
    >> 
    >> --
    >> Alexandre Courtiol
    >> 
    >> http://sites.google.com/site/alexandrecourtiol/home
    >> 
    >> "Science is the belief in the ignorance of experts",
    >> R. Feynman

    > ______________________________________________
    > R-package-devel at r-project.org mailing list
    > https://stat.ethz.ch/mailman/listinfo/r-package-devel
4 days later
#
On Fri, Apr 20, 2018 at 12:59 AM, Martin Maechler
<maechler at stat.math.ethz.ch> wrote:
It's on its way!

Hadley