Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install collective.recipe.mockedeggs

How to install collective.recipe.mockedeggs

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install collective.recipe.mockedeggs
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.0rc1 Available View build log
Windows (64-bit)
1.0rc1 Available View build log
Mac OS X (10.5+)
1.0rc1 Available View build log
Linux (32-bit)
1.0rc1 Available View build log
Linux (64-bit)
1.0rc1 Available View build log
 
License
ZPL
Lastest release
version 1.0rc1 on Jan 5th, 2011

Support

Detailed Documentation

Usage

Sometimes you can't add eggs through your buildout engine or easy_install, for example if some dev libraries are lacking on your system, or are too old, etc.

But you can install module directly on your system using your system's packaging utility (port install python-xxx, apt-get install python-xxx or with .msi installers for Windows. In example python-ldap or lxml are somehow difficult to install on Windows using source eggs, and are usually available as binary installers.

Then, though you get all you need in your python environment, your buildout may fail because an egg is missing.

This recipe will make buildout believe that such missing eggs are available and installed, when your app will use the system wide Pyhton packages you installed by your way.

Yes, I know you should usually not do this but sometimes there's no other (easy) way to have your buildout completed.

How-to

You have to add ON TOP OF YOUR PARTS a collective.recipe.mockedeggs recipe part:

[buildout]

System Message: ERROR/3 (<string>, line 43)

Inconsistent literal block quoting.

parts = mocked-eggs other parts...

[mocked-eggs] recipe=collective.recipe.mockedeggs

The recipe supports the following options:

mocked-eggs The list of eggs you want to mock, with their version number, as for example:

System Message: WARNING/2 (<string>, line 55)

Literal block expected; none found.

mocked-eggs = python-ldap=2.3.10 Markdown = 1.7

Example usage

We'll start by creating a buildout that uses the recipe:

>>> write('buildout.cfg',

System Message: ERROR/3 (<string>, line 66)

Inconsistent literal block quoting.

... """ ... [buildout] ... parts = mocked-eggs-test ... zopepy ... ... eggs = mocked1 ... mocked2 ... ... [mocked-eggs-test] ... recipe = collective.recipe.mockedeggs ... mocked-eggs = ... mocked1=1.0 ... mocked2= 2.0 ... ... [zopepy] ... recipe = zc.recipe.egg ... interpreter = zopepy ... eggs = mocked1 ... mocked2 ... ... """)

Running the buildout gives us

>>> print 'start...\n', system(buildout)

System Message: ERROR/3 (<string>, line 91)

Inconsistent literal block quoting.

start... Installing mocked-eggs-test. mocked-eggs-test: Mocked eggs mocked1, mocked2. ...

>>> import os
>>> os.path.exists('mocked-eggs-test')
True
>>> os.path.exists('mocked-eggs-test/fake-mocked1')
True
>>> os.path.exists('mocked-eggs-test/fake-mocked2')
True
>>> setup1 = open('mocked-eggs-test/fake-mocked1/setup.py').read()
>>> '1.0' in setup1
True
>>> "'mocked1'" in setup1
True
>>> binary = open('bin/zopepy', 'r').read()
>>> 'mocked-eggs-test/fake-mocked1' in binary
True
Contributors
  • "Thomas Desvenain", Author
  • "Gilles Lenfant", Contributor
Change history

1.0rc1 23/03/2010

  • we can have spaces in mocked eggs declaration (myegg = 2.0 is allowed)
  • better documentation [glenfant,tdesvenain]

1.0a1 10/03/2010

  • Initial release [tdesvenain]
  • Created recipe with ZopeSkel
Download

Subscribe to package updates

Last updated Jan 5th, 2011

Download Stats

Last month:2

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.