[Rd] Where to drop a python script?

Brian Lee Yung Rowe rowe at muxspace.com
Fri Nov 1 17:30:34 CET 2013


If that's all you want to do, you can ignore the headache by just calling system("python -V").

Then you don't need to save any python scripts.


On Nov 1, 2013, at 10:17 AM, Jonathan Greenberg <jgrn at illinois.edu> wrote:

> This was actually the little script I was going to include (prompting me to
> ask the question): a test for the python version number.
> Save this (between the ***s) as e.g. python_version.py:
> 
> ***
> 
> import sys
> print(sys.version_info)
> 
> ***
> 
> I've done almost no python coding, so I was going to call this with a
> system("/pathto/python /pathto/python_version.py",intern=TRUE) call and
> post-process the one-line text output.
> 
> --j
> 
> 
> On Thu, Oct 31, 2013 at 12:45 PM, Paul Gilbert <pgilbert902 at gmail.com>wrote:
> 
>> 
>> 
>> On 13-10-31 01:16 PM, Prof Brian Ripley wrote:
>> 
>>> On 31/10/2013 15:33, Paul Gilbert wrote:
>>> 
>>>> 
>>>> 
>>>> On 13-10-31 03:01 AM, Prof Brian Ripley wrote:
>>>> 
>>>>> On 31/10/2013 00:40, Paul Gilbert wrote:
>>>>> 
>>>>>> 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<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.)
>>>>>> 
>>>>> 
>>>>> Better to describe exactly what you need: installation instructions go
>>>>> stale very easily.
>>>>> 
>>>>> -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.
>>>>>> 
>>>>> 
>>>>> Not true.  Linux and Solaris (sic) have both: the Solaris machines have
>>>>> 2.6 and 3.3.
>>>>> 
>>>> 
>>>> For an R package how does one go about specifying which should be used?
>>>> 
>>> 
>>> You ask the user to tell you the path or at least the command name, e.g.
>>> by an environment variable or R function argument.  Just like any other
>>> external program such as GhostScript.
>>> 
>> 
>> Yes, but since I don't have direct access to the CRAN test machines,
>> specifically, on the CRAN test machines, how do I specify to use Python 2
>> or Python 3? (That is, I think you are the user when CRAN tests are done on
>> Solaris, so I am asking you.)
>> 
>> 
>> 
>>> 
>>>> Please do not spread misinformation about machines you do
>>>>> not have any access to.
>>>>> 
>>>>> 
>>>>>> 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
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> ______________________________**________________
>>>>>> R-devel at r-project.org mailing list
>>>>>> https://stat.ethz.ch/mailman/**listinfo/r-devel<https://stat.ethz.ch/mailman/listinfo/r-devel>
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>> 
>>> 
>> ______________________________**________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/**listinfo/r-devel<https://stat.ethz.ch/mailman/listinfo/r-devel>
>> 
> 
> 
> 
> -- 
> Jonathan A. Greenberg, PhD
> Assistant Professor
> Global Environmental Analysis and Remote Sensing (GEARS) Laboratory
> Department of Geography and Geographic Information Science
> University of Illinois at Urbana-Champaign
> 259 Computing Applications Building, MC-150
> 605 East Springfield Avenue
> Champaign, IL  61820-6371
> Phone: 217-300-1924
> http://www.geog.illinois.edu/~jgrn/
> AIM: jgrn307, MSN: jgrn307 at hotmail.com, Gchat: jgrn307, Skype: jgrn3007
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list