[Rd] Where to drop a python script?
Paul Gilbert
pgilbert902 at gmail.com
Thu Oct 31 01:40:23 CET 2013
The old convention was that it went in the exec/ directory, but as you
can see at
http://cran.at.r-project.org/doc/manuals/r-devel/R-exts.html#Non_002dR-scripts-in-packages
it can be in inst/anyName/. A minor convenience of exec/ is that the
directory has the same name in source and when installed, whereas
inst/anyName gets moved to anyName/, so debugging can be a tiny bit
easier with exec/.
Having just put a package (TSjson) on CRAN with a python script, here
are a few other pointers for getting it on CRAN:
-SystemRequirements: should indicate if a particular version of python
is needed, and any non-default modules that are needed. (My package does
not work with Python 3 because some modules are not available.) Some of
the libraries have changed, so it could be a bit tricky to make
something work easily with both 2 and 3.
-You need a README to explain how to install Python. (If you look at or
use mine, please let me know if you find problems.)
-The Linux and Sun CRAN test machines have Python 2 whereas winbuilder
has Python 3. Be prepared to explain that the package will not work on
one or the other.
Another option to system() is pipe()
Paul
On 13-10-30 03:15 PM, Dirk Eddelbuettel wrote:
>
> On 30 October 2013 at 13:54, Jonathan Greenberg wrote:
> | R-developers:
> |
> | I have a small python script that I'd like to include in an R package I'm
> | developing, but I'm a bit unclear about which subfolder it should go in. R
> | will be calling the script via a system() call. Thanks!
>
> Up to you as you control the path. As "Writing R Extensions" explains,
> everything below the (source) directory inst/ will get installed. I like
> inst/extScripts/ (or similar) as it denotes that it is an external script.
>
> As an example, the gdata package has Perl code for xls reading/writing below a
> directory inst/perl/ -- and I think there are more packages doing this.
>
> Dirk
>
>
More information about the R-devel
mailing list