[pypy-dev] virtualenv support and directory hierarchy

Antonio Cuni anto.cuni at gmail.com
Sat Jun 19 10:29:58 CEST 2010


I also don't like too much to have a hardcoded version number, but when I 
asked for alternatives nobody suggested anything.

On IRC, amaury suggested to install the whole pypy distribution in its 
self-contained directory, more or less as cpython does on windows.
I didn't think about this solution, but now I see that it might be a good one, 
as it would allow to have the same hierarchy on svn checkouts, user-specific 
installations and system-wide installations.

The drawback is that it's a bit non-standard on unix; moreover, if we install 
pypy in say /opt/pypy1.2, it would be hard to put a binary in /usr/bin without 
hardcoding the path to pypy1.2 somewhere.

So, for me there are four possible solutions:

1) leave things as they are on branch/sys-prefix and have the version number 
hardcoded in svn

2) put the whole distribution in its own directory, as jython or cpython on 
windows.  This has the open problem of determining where the directory is, as 
described above

3) don't hardcode the version number in svn, but add a special case to 
virtualenv to detect if we are inside a pypy checkout to handle it specially

4) don't care about running virtualenv inside a pypy checkout

Personally, I would exclude (4): I think that it would be very cool for people 
to try pypy in a sandboxed virtualenv without having to install it, and it 
would be useful to us too.

So, before I do more work, I'd like to hear what people think and which of the 
alternatives they prefer.


On 18/06/10 19:01, Maciej Fijalkowski wrote:
> Hey anto.
> I expressed my concerns already, but I'm going to express them once
> again, since amaury also said that on IRC.
> I really dislike having version number hardcoded in source checkout
> for a whole variety of reasons. I don't think need to have virtualenv
> working from source checkout is enough to push that through.
> How about install script that does that maybe?
> Cheers,
> fijal

More information about the Pypy-dev mailing list