Two months ago, I spent some time modifiying setup.py script to enable
setuptools/distribute support and allow installation via
easy_install/pip/zc.buildout.
Can someone take a look at
and give me some feedback ?
Regards
--
Godefroid Chapelle (aka __gotcha) http://bubblenet.be
I briefly looked at it but since my knowledge about easy_install etc.
is somewhat limited cannot comment too much. Enhancing Robot's
installation with the easy_install and other automatic installation
tools would be great, though, so I'm interested to help you with this
work.
As you probably know, Robot can currently be installed with
easy_install. There has beenhas been problems with virtualenv (most
ought to be solved these days) and on Windows you need to run
robot_postinstall.py manually. Installing using pip doesn't work [1]
and I don't know the situation with buildout, distribute, or other
tools.
[1] http://code.google.com/p/robotframework/issues/detail?id=885
The problems in installation are mainly due to our installation system
modifying pybot, jybot, and rebot start-up scripts in-place after the
normal installation process. This is done to set correct paths to
Python/Jython executable and Robot installation directory in these
batch files (Windows) or shell scripts (elsewhere). The original
motivation was making it easy to install the framework so that you can
use it also with Jython 2.2 which didn't have distutils. Nowadays we
require Jython 2.5 which has distutils and supports installation so
the installation could be changed.
Creating a new installation system is something that we have been
thinking for some time [2] but haven't yet done it because it's a
pretty big task, the current system works in most cases, and the
changes are likely to be at least slightly backwards incompatible. If
there are people who are interested in helping with this task, I can
explain the ideas we've been thinking and the pros and cons with them
in a subsequent mail.
[2] http://code.google.com/p/robotframework/issues/detail?id=480
Cheers,
.peke
--
Agile Tester/Developer/Consultant :: http://eliga.fi
Lead Developer of Robot Framework :: http://robotframework.org
True, I had forgotten that I started the branch to add setuptools
console_scripts support.
Since you expressed interest about improving installation, I moved
forward. The branch
http://code.google.com/r/gotcha-setuptools-scripts/source/browse?name=setuptools-scripts
has all the changes done till now.
With the branch, an egg can be produced by issuing
python2.6 setup.py sdist register -r my.eggserver upload -r my.eggserver
The egg installation from my egg server succeeds in the following cases:
On MacOSX
* easy_install in a virtualenv
* pip in a virtualenv
* easy_install with Jython 2.5
* buildout
On Windows XP
* easy_install
* easy_install in a virtualenv
* pip in a virtualenv
* easy_install with Jython 2.5
On Ubuntu
* easy_install in a virtualenv
* pip in a virtualenv
* buildout
* (no trial with Jython)
Installing the egg also installs 'pybot' and 'rebot' scripts:
* in directory 'bin' for MacOSX and Ubuntu
* in directory 'Scripts' for Windows XP. In this case, setuptools makes
.exe files. IOW, there are no .bat files anymore.
In case of Jython, 'jybot' and 'rebot' scripts are setup.
There are two obvious backward incompatibilities :
* the disparition of the bat files.
* no jybot script when not installed with Jython.
The branch is not compatible with IronPython as IronPython still does
not support setuptools.
I am looking forward to hearing your feedback.
First of all, sorry for not replying earlier. My lame excuse is that I
didn't notice there were new mails on rf-devel before last Friday.
I've been thinking about whether this list and rf-users should be
combined for some time and I'm really starting to believe we need to
do that....
2011/8/23 Godefroid Chapelle <got...@bubblenet.be>:
> Since you expressed interest about improving installation, I moved forward.
> The branch
>
> http://code.google.com/r/gotcha-setuptools-scripts/source/browse?name=setuptools-scripts
>
> has all the changes done till now.
>
> With the branch, an egg can be produced by issuing
>
> python2.6 setup.py sdist register -r my.eggserver upload -r my.eggserver
Isn't it possible to create an egg locally? Would be nice at least for
testing purposes.
> The egg installation from my egg server succeeds in the following cases:
>
> On MacOSX
> * easy_install in a virtualenv
> * pip in a virtualenv
> * easy_install with Jython 2.5
> * buildout
>
> On Windows XP
> * easy_install
> * easy_install in a virtualenv
> * pip in a virtualenv
> * easy_install with Jython 2.5
>
> On Ubuntu
> * easy_install in a virtualenv
> * pip in a virtualenv
> * buildout
> * (no trial with Jython)
Impressive!
> Installing the egg also installs 'pybot' and 'rebot' scripts:
>
> * in directory 'bin' for MacOSX and Ubuntu
> * in directory 'Scripts' for Windows XP. In this case, setuptools makes .exe
> files. IOW, there are no .bat files anymore.
>
> In case of Jython, 'jybot' and 'rebot' scripts are setup.
Sounds good! Didn't know setuptools can make such .exe files.
> There are two obvious backward incompatibilities :
>
> * the disparition of the bat files.
> * no jybot script when not installed with Jython.
Neither of these are too big problems in my opinion. I don't think
users generally need .bat files if they can still run pybot and others
from the command prompt like earlier. As I wrote earlier, jybot script
was (and still is) created when installing with Python just to ease
using Robot on Jython 2.2 which didn't even have distutils.
> The branch is not compatible with IronPython as IronPython still does not
> support setuptools.
We probably would anyway want to keep the source distribution and that
ought to work with IronPython.
> I am looking forward to hearing your feedback.
Well, this looks awesome! How and when should we get the enhancements
in? On one hand I'd like to do that ASAP, but on the other hand the
changes are somewhat big and perhaps should thus wait until RF 2.7.
The schedule of 2.7 is still open but I need to discuss that with the
project sponsors soon anyway. If it's near, we probably should wait
until that, but otherwise we can target some 2.6.x release.
No issue here, I know it is hard to keep up with project mails.
> 2011/8/23 Godefroid Chapelle<got...@bubblenet.be>:
>> Since you expressed interest about improving installation, I moved forward.
>> The branch
>>
>> http://code.google.com/r/gotcha-setuptools-scripts/source/browse?name=setuptools-scripts
>>
>> has all the changes done till now.
>>
>> With the branch, an egg can be produced by issuing
>>
>> python2.6 setup.py sdist register -r my.eggserver upload -r my.eggserver
>
> Isn't it possible to create an egg locally? Would be nice at least for
> testing purposes.
Very good question. I had never tried so I tried with my ipdb project.
It did work with the following steps :
1)
python2.6 setup.py sdist
This creates the source tgz in the dist directory.
2)
easy_install --find-links=file:///path/to/dist/ipdb-0.7dev.tar.gz
ipdb==0.7dev
or
2bis)
pip install --find-links=file:///path/to/dist/ipdb-0.7dev.tar.gz
ipdb==0.7dev
This installs the egg from the file made at step 1.
I learned sthing, thx :-)
Ok
>> I am looking forward to hearing your feedback.
>
> Well, this looks awesome! How and when should we get the enhancements
> in? On one hand I'd like to do that ASAP, but on the other hand the
> changes are somewhat big and perhaps should thus wait until RF 2.7.
> The schedule of 2.7 is still open but I need to discuss that with the
> project sponsors soon anyway. If it's near, we probably should wait
> until that, but otherwise we can target some 2.6.x release.
>
> Cheers,
> .peke
Thanks for answer. Lemme know when you have more information.