Jim Fulton <[email protected]> writes: > I'm very happy, finally, to have released buildout 2.0.0.
I'm happy too, congrats to everybody contributed! > Much has changed from buildout 1: > > http://pypi.python.org/pypi/zc.buildout/2.0.0#id3 * Buildout no-longer tries to provide full or partial isolation from system Python installations. If you want isolation, use buildout with virtualenv, or use a clean build of Python to begin with. Ok, I think I'm hitting this, trying to update one project: one of its scripts fails with the following traceback:: $ .../bin/initialize_cpi_db --development src/cpi/development.ini Traceback (most recent call last): File ".../bin/initialize_cpi_db", line 51, in <module> import cpi.scripts.initializedb File ".../src/cpi/cpi/__init__.py", line 10, in <module> from pyramid.config import Configurator File ".../eggs/pyramid-1.4-py2.7.egg/pyramid/config/__init__.py", line 21, in <module> from pyramid.authorization import ACLAuthorizationPolicy File ".../eggs/pyramid-1.4-py2.7.egg/pyramid/authorization.py", line 9, in <module> from pyramid.security import ( File ".../eggs/pyramid-1.4-py2.7.egg/pyramid/security.py", line 12, in <module> from pyramid.threadlocal import get_current_registry File ".../eggs/pyramid-1.4-py2.7.egg/pyramid/threadlocal.py", line 3, in <module> from pyramid.registry import global_registry File ".../eggs/pyramid-1.4-py2.7.egg/pyramid/registry.py", line 5, in <module> from zope.interface.registry import Components ImportError: No module named registry And the problem is that, even if I explicitly said it needs the zope.interface egg, and pinned it to version 4.0.3, the script sees the system wide zope.interface installed by the underlying Ubuntu host:: $ cat .../bin/initialize_cpi_db #!/usr/bin/python import sys sys.path[0:0] = [ '.../eggs/SQLAlchemy-0.8.0b2-py2.7-linux-i686.egg', '.../src/cpi', '.../eggs/docutils-0.10-py2.7.egg', '.../eggs/logutils-0.3.3-py2.7.egg', '.../src/metapensiero.extjs.desktop/src', '.../src/metapensiero.sphinx.patchdb/src', '.../src/metapensiero.sqlalchemy.proxy/src', '.../eggs/psycopg2-2.4.6-py2.7-linux-i686.egg', '.../eggs/pyramid-1.4-py2.7.egg', '.../eggs/pyramid_beaker-0.7-py2.7.egg', '.../eggs/pyramid_mailer-0.10-py2.7.egg', '.../eggs/rst2pdf-0.93.dev-py2.7.egg', '.../eggs/simplejson-3.0.7-py2.7-linux-i686.egg', '.../eggs/Babel-1.0dev_r661-py2.7.egg', '.../eggs/Sphinx-1.1.3-py2.7.egg', '.../eggs/coverage-3.5.1-py2.7-linux-i686.egg', '.../eggs/lingua-1.4-py2.7.egg', '.../eggs/nose-1.2.1-py2.7.egg', '.../eggs/nose_progressive-1.4-py2.7.egg', '.../eggs/yuicompressor-2.4.7-py2.7.egg', '.../eggs/blessings-1.3-py2.7.egg', '.../eggs/xlwt-0.7.4-py2.7.egg', '.../eggs/xlrd-0.8.0-py2.7.egg', '.../eggs/polib-1.0.2-py2.7.egg', '.../eggs/Jinja2-2.6-py2.7.egg', '.../eggs/Pygments-1.5-py2.7.egg', '.../eggs/pdfrw-0.1-py2.7.egg', '/usr/lib/python2.7/dist-packages', '.../eggs/repoze.sendmail-3.2-py2.7.egg', '.../eggs/Beaker-1.6.4-py2.7.egg', '.../eggs/PasteDeploy-1.5.0-py2.7.egg', '.../eggs/translationstring-1.1-py2.7.egg', '.../eggs/venusian-1.0a6-py2.7.egg', '.../eggs/zope.deprecation-4.0.0-py2.7.egg', '.../eggs/zope.interface-4.0.3-py2.7-linux-i686.egg', '.../eggs/repoze.lru-0.6-py2.7.egg', '.../eggs/WebOb-1.2.3-py2.7.egg', '.../eggs/Mako-0.7.2-py2.7.egg', '.../eggs/Chameleon-2.11-py2.7.egg', '.../eggs/zope.sqlalchemy-0.7.1-py2.7.egg', '.../eggs/waitress-0.8.1-py2.7.egg', '.../eggs/transaction-1.3.0-py2.7.egg', '.../eggs/pyramid_tm-0.5-py2.7.egg', '.../eggs/MarkupSafe-0.15-py2.7-linux-i686.egg', ] import cpi.scripts.initializedb if __name__ == '__main__': sys.exit(cpi.scripts.initializedb.main()) You may notice the “/usr/lib/python2.7/dist-packages” right in the middle of the generated load path:: $ bin/python >>> import zope.interface >>> print(zope.interface) <module 'zope.interface' from '/usr/lib/python2.7/dist-packages/zope/interface/__init__.pyc'> I do understand that the documentation says “use virtualenv” to fix the issue, but I'm curious about the position of the “dist-packages” in the list: 1) why does it ends in the middle? 2) is (the position) controllable/explicitly determinable in some way? Thanks a lot, bye, lele. -- nickname: Lele Gaifax | Quando vivrò di quello che ho pensato ieri real: Emanuele Gaifas | comincerò ad aver paura di chi mi copia. [email protected] | -- Fortunato Depero, 1929. _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
