diff --git a/buildout/local-eggs/invokepython/invokepython.py b/buildout/local-eggs/invokepython/invokepython.py new file mode 100644 index 0000000000000000000000000000000000000000..8e7090b8371188d186fa2986d3890bac30167cfe --- /dev/null +++ b/buildout/local-eggs/invokepython/invokepython.py @@ -0,0 +1,4 @@ +import sys, os +def invokepython(): + os.environ['PYTHONPATH'] = ':'.join(sys.path) + os.execl(sys.executable, *sys.argv) diff --git a/buildout/local-eggs/invokepython/setup.py b/buildout/local-eggs/invokepython/setup.py new file mode 100644 index 0000000000000000000000000000000000000000..6e9713ff018990253249b96af887bf2f36aa840c --- /dev/null +++ b/buildout/local-eggs/invokepython/setup.py @@ -0,0 +1,27 @@ +from setuptools import setup, find_packages + +name = "invokepython" +version = '0.1' + +setup( + name = name, + version = version, + author = "Lukasz Nowak", + author_email = "luke@nexedi.com", + description = "ZC Buildout recipe to invoke full python interpreter", + license = "ZPL 2.1", + keywords = "python interpreter", + packages = find_packages(), + scripts = [name+".py",], + include_package_data = True, + classifiers=[ + "License :: OSI Approved :: Zope Public License", + "Framework :: Buildout", + "Operating System :: POSIX :: Linux", + ], + zip_safe=False, + entry_points = """ + [console_scripts] + invokepython = invokepython:invokepython + """, + ) diff --git a/buildout/software-profiles/python-2.4.cfg b/buildout/software-profiles/python-2.4.cfg index 3874100ece435d0c61e5bc7ed227e03c1a077e50..90b9084fc669737e82541bba8ef9cb62c92daca2 100644 --- a/buildout/software-profiles/python-2.4.cfg +++ b/buildout/software-profiles/python-2.4.cfg @@ -1,6 +1,8 @@ [buildout] # http://bluedynamics.com/articles/jens/build-python-in-buildout # based on https://svn.plone.org/svn/collective/buildout/bda-naked-python/buildout2.4.cfg +develop = local-eggs/invokepython + python_version = 2.4 parts = python @@ -31,12 +33,13 @@ configure-options = patches = ${python2.4-dbm-patch:location}/${python2.4-dbm-patch:filename} [pythonbin] -recipe = zc.recipe.egg +# XXX/Note: This is hackish way to have fully featured python interpreter +recipe = zc.recipe.egg:scripts eggs = ${eggs:eggs} -interpreter = python${buildout:python_version} + invokepython dependent-scripts = true scripts = - python=${:interpreter} + invokepython=python${buildout:python_version} ipython=ipython${buildout:python_version} [requirements]