[Zope-dev] Re: ploneout - Or how using zc.buildout for a common
Zope2 project might look like
Jim Fulton
jim at zope.com
Sun Jan 28 17:22:27 EST 2007
Martin Aspeli wrote:
> Jim Fulton wrote:
>> Martin Aspeli wrote:
>>> Jim Fulton wrote:
>>>
>>>> The first step to compatibility is deciding what it means. :)
>>>> I'm all in favor of workingenv/buildout compatibility.
>>>> I'd like to see some specifics of how people would like
>>>> to use workingenv amd buildout together. I have some guesses,
>>>> but I'd rather hear people say what they want to do.
>>>> I think this would be much more useful than a discussion
>>>> of implementation details at this point. Once we know what
>>>> we want the end result to be, I'm sure you and I can work out
>>>> some implementation that makes sense.
>>> I agree, and I find myself a bit confused by this orientation as well.
>>>
>>> The main use case I could imagine wanting to solve would be that I'd
>>> like to run 'python' inside zc.buildout and have an interactive
>>> prompt that had all the eggs that zc.buildout knew about available.
>>> That is, I'd like to be able to do "from zope.interface import ..."
>>> and so on.
>>
>> As I mentioned before, this is already supported:
>>
>> [buildout]
>> parts = ... foo ...
>>
>> [foo]
>> recipe=zc.recipe.egg
>> eggs = egg1 egg2 ...
>> interpreter = mypy
>>
>> After running the buildout, you will have bin/mypy.
>
> Oh, didn't see that. That's cool! :)
>
>> If you run bin/mypy, then you'll get a Python prompt and you can import
>> and use anything provided by the listed eggs and their dependencies.
>
> I guess this wouldn't work for Zope's packages in
> ${SOFTWARE_HOME}/lib/python because they're not eggs known to buildout,
> but I could add that to my path manually (and when all of Zope is eggs...)
[foo]
recipe=zc.recipe.egg
eggs = egg1 egg2 ...
interpreter = mypy
extra-paths = path-to-your-instance/lib/python
>> You can also do:
>>
>> bin/mypy somescript args
>>
>> and run the script somescript with the given arguments and it
>> will have the path set up for it.
>>
>> One wart is that any scripts defined by the eggs will be installed
>> too when you run the buildout, which you may or may not want. There's
>> a way to suppress this but I should probably add a dedicated interpreter
>> recipe that just creates an interpreter.
>
> At least if it was optional to install the eggs' script, that'd be nice.
> I guess it won't do much harm if the eggs install their scripts, though.
It is optional:
[foo]
recipe=zc.recipe.egg
eggs = egg1 egg2 ...
interpreter = mypy
extra-paths = path-to-your-instance/lib/python
scripts = mypy
But more work than I think it should be.
The scripts option allows you to select which scripts to include
or to rename them.
Jim
--
Jim Fulton mailto:jim at zope.com Python Powered!
CTO (540) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
More information about the Zope-Dev
mailing list