[Cubicweb] Move sources to a sub-directory

Christophe de Vienne christophe at unlish.com
Fri Aug 29 12:47:46 CEST 2014

Le 29/08/2014 11:53, Alain Leufroy a écrit :
> On 25/08/2014 16:58, Christophe de Vienne wrote:
>> Hi everyone,
>> Studying how can pip / setuptools can make work on cubicweb easier, I 
>> hit a major problem : "pip install -e" (equivalent to "setup.py 
>> develop") will _not_ work.
> Could you explain why you'd like to use virtualenv and setup.py develop?

Mainly because I am efficient with virtualenv (actually 
virtualenvwrapper) and not being able to use it properly is a pain, 
really (*).

It allows me to start working with the pypi published packages, and then 
only if needed for a particular package I get the source and do a 
setup.py develop.

It makes starting to work on a package _much_ easier.

When working on a cube for example, I only need to have the sources from 
the repositories for cubicweb, maybe logilab.database if I want to test 
with pypy, and sometimes up to 3 cubes. But I do not care about checking 
out yams, rql, logilab.common, most of the cubes, etc. The pypi versions 
are good enough.

When I work with pyramid, using virtualenv is easy : pip install pyramid 
and I am ready to go.
Not using it is complicated, see the in-progress confman configuration 
of Aurélien to get an idea : it forces you to take some (way too long) 
time to properly setup your pythonpath.

Currently I use a hybrid of virtualenv/setup.py develop + the 
grshell-cubicweb to work on pyramid_cubicweb. And it makes things more 
difficult than needed.

For example, I would like this sequence to be enough to start working on 
pyramid_cubicweb and cubicweb sources (which is my current need):

     hg clone xxx/cubicweb
     hg clone xxx/pyramid_cubicweb
     mkvirtualenv devenv
     pip install -e xxx/cubicweb
     pip install -e xxx/pyramid_cubicweb

If, later, I have to patch pyramid itself, or yams :

     hg clone xxx/yams
     pip install -e yams

Easy to do for anybody, especially new comers. And even more easy 
because most python developers works like this today.

That said, all the packages I know, except for the cubicweb ecosystem, 
works nicely with virtualenv and setup.py develop. Keeping cubicweb 
pip-unfriendly is definitely not the right thing to do.

I may have not actually answered your question (or too much!), feel free 
to ask for precisions.


(*) And if it is a pain for me (who is very willing to work with cw), it 
will unfortunately be a show-stopper for many python developers.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cubicweb.org/pipermail/cubicweb/attachments/20140829/61c47705/attachment-0186.html>

More information about the Cubicweb mailing list