PMXBOT Log file Viewer

Help | Karma | Search:

#buildout logs for Tuesday the 19th of March, 2013

(Back to #buildout overview) (Back to channel listing) (Animate logs)
[12:27:14] <mgedmin> how can I figure out why buildout thinks some packages are required?
[12:27:37] <mgedmin> bin/buildout -o -v tells me "Adding required 'zope.hookable'" and doesn't follow that up with any "required by ..." lines
[12:27:52] <mgedmin> git grep zope.hookable finds zero mentions in the source tree
[12:28:17] <mgedmin> python setup.py test also downloads zope.hookable, so I believe it's a real requirement, I just can't figure out where it comes from
[15:51:34] <whyzgeek> hi any body here can help on zc.buildout? I am trying to make it work through proxy and it fails. Actually I am not 100% sure its because of that. I am running it on a mac
[16:05:52] <mgedmin> whyzgeek, dpaste.org ?
[16:06:12] <mgedmin> disclaimer: I've never tried to make zc.buildout use a proxy
[16:06:43] <mgedmin> I believe it uses easy_install from setuptools/distribute, which uses urllib, so whatever environment variables can be used to tell urllib about proxies should work here to
[16:11:03] <whyzgeek> mgedmin: http://dpaste.org/MYPyG/
[16:11:23] <whyzgeek> I set the environment variable and wget is working fine
[16:11:29] <mgedmin> yeah, not very informative
[16:11:43] <mgedmin> can you try with virtualenv && easy_install?
[16:12:10] <whyzgeek> ok good point let me try
[16:15:07] <whyzgeek> mgedmin: you were right easy_install doesn't work either
[16:17:04] <mgedmin> interesting factoid: I saw httplib and setuptools in that traceback
[16:17:07] <mgedmin> I didn't see urllib
[16:17:18] <mgedmin> what's your setuptools version?
[16:17:22] <mgedmin> is it setuptools or distribute?
[16:18:28] <mgedmin> urllib uses $http_proxy (lowercase)
[16:18:32] <mgedmin> httplib doesn't
[16:19:31] <whyzgeek> mgedmin: interesting
[16:19:37] <mgedmin> looking at setuptools/package_index.py on my ubuntu box, it uses urllib, not httplib
[16:19:43] <mgedmin> I don't know how to explain that traceback of yours
[16:19:58] <whyzgeek> >>> setuptools.__version__
[16:20:07] <whyzgeek> setuptools version is '0.6c11'
[16:20:25] <whyzgeek> its from macports
[16:20:55] <mgedmin> I've got 0.6c12, which is really distribute
[16:21:02] <mgedmin> I doubt this matters
[16:21:29] <whyzgeek> so how can I force it to use urllib?
[16:21:47] <mgedmin> have you conclusively determined that it doesn't?
[16:22:14] <mgedmin> can you dpaste the contents of File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/../../Extras/lib/python/setuptools/package_index.py" ?
[16:22:38] <whyzgeek> well there are two only source for that one is the traceback and the other is the fact that the evn variable is working for everything else expect easy_setup
[16:25:56] <whyzgeek> http://dpaste.org/zAr9O/
[16:26:01] <whyzgeek> this is the content
[16:26:06] <whyzgeek> not all of it though
[16:26:10] <whyzgeek> it imports both libs
[16:26:17] <whyzgeek> urllib and httplib
[16:26:20] <mgedmin> httplib is imported but never used
[16:26:43] <mgedmin> so is urllib
[16:26:47] <mgedmin> I think your paste was truncated
[16:27:03] <whyzgeek> I guess some exception classes are from httplib only
[16:28:48] <whyzgeek> http://dpaste.org/SZXed/
[16:28:54] <whyzgeek> this is the complete one
[16:29:48] <mgedmin> okay, httplib is only used for exception names
[16:30:14] <mgedmin> for actual downloading it uses urllib2.urlopen()
[16:30:18] <mgedmin> which should support http_proxy
[16:30:18] <whyzgeek> yep
[16:30:29] <whyzgeek> let me try it on ipython
[16:30:34] <mgedmin> if this were linux I'd be tempted to strace the connect() calls
[16:30:43] <mgedmin> not sure what you can use on macosx -- dtrace?
[16:30:52] <whyzgeek> I am not sure either
[16:30:57] <whyzgeek> how to track system calls
[16:31:39] <mgedmin> does it abort at once or is there a pause?
[16:33:12] <whyzgeek> well I tried it on python console and it works!
[16:33:18] <whyzgeek> urllib2
[16:33:26] <whyzgeek> downloads python.org
[16:33:30] <whyzgeek> with no problems
[16:33:47] <mgedmin> interesting
[16:34:31] <whyzgeek> whomever@macbookpro-5fb9$ bin/easy_install-2.7 install suds
[16:34:32] <whyzgeek> Searching for install
[16:34:32] <whyzgeek> Reading http://pypi.python.org/simple/install/
[16:34:32] <whyzgeek> Couldn't find index page for 'install' (maybe misspelled?)
[16:34:34] <whyzgeek> Scanning index of all packages (this may take a while)
[16:34:40] <whyzgeek> Reading http
[16:34:49] <mgedmin> could you run bin/python -i bin/easy_install suds
[16:34:51] <mgedmin> then when it fails
[16:34:55] <mgedmin> >>> import pdb; pdb.pm()
[16:35:12] <mgedmin> then walk up the stack trace until you find the URL it tried to get somewhere in locals()
[16:35:35] <mgedmin> then try to download that particular url from a python prompt using urllib?
[16:35:41] <whyzgeek> intresting
[16:36:10] <whyzgeek> http://dpaste.org/X39gF/
[16:36:14] <mgedmin> actually, what you pasted here shows that easy_install can do an http request to pypi.python.org and correctly receives the 404 response
[16:36:22] <mgedmin> (you tried to install a package named 'install')
[16:36:33] <mgedmin> so, easy_install works
[16:36:35] <mgedmin> but buildout doesn't?
[16:36:39] <whyzgeek> no
[16:36:56] <whyzgeek> the traceback was from buildout boostrap
[16:38:28] <mgedmin> what if you try buildout with your virtualenv (which probably has a newer distribute version)?
[16:38:28] <mgedmin> i.e. cd ~/yourproject; /path/to/some/virtualenv/bin/python bootstrap.py; bin/buildout
[16:39:08] <whyzgeek> let me try
[16:39:54] <whyzgeek> it gives the same error message
[16:40:01] <whyzgeek> connection reset by peer
[16:40:24] <whyzgeek> so it doesn't download the packages
[16:40:50] <whyzgeek> socket.error: [Errno 54] Connection reset by peer
[16:42:04] <whyzgeek> mgedmin: any other ideas?
[16:42:15] <mgedmin> ooh!
[16:42:57] <mgedmin> not really... google?
[16:43:24] <mgedmin> the same pdb.pm() trick to find the bad url?
[16:43:44] <mgedmin> actually, let's not give up yet
[16:43:56] <mgedmin> can you dpaste the traceback you get when you try to bootstrap from within a virtualenv?
[16:44:04] <mgedmin> (i.e. with virtualenv's bin/python)
[16:44:41] <whyzgeek> ok
[16:45:15] <whyzgeek> http://dpaste.org/hYtA3/
[16:46:58] <mgedmin> hmm
[16:47:21] <mgedmin> (a bit strange to see bdist.linux on a mac)
[16:47:28] <mgedmin> (not a mac person, maybe that's normal)
[16:47:30] <whyzgeek> homever@macbookpro-5fb9$ ./virtualenv/bin/python
[16:47:30] <whyzgeek> Python 2.7.3 (default, Nov 17 2012, 19:54:34)
[16:47:30] <whyzgeek> [GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin
[16:47:34] <whyzgeek> Type "help", "copyright", "credits" or "license" for more information.
[16:47:52] <whyzgeek> >>> import urllib2
[16:47:52] <whyzgeek> >>> urllib2.url
[16:47:52] <whyzgeek> urllib2.url2pathname( urllib2.urlopen( urllib2.urlparse
[16:47:52] <whyzgeek> >>> urllib2.urlopen('http://google.com/')
[16:47:53] <whyzgeek> <addinfourl at 4435259904 whose fp = <socket._fileobject object at 0x108240150>
[16:48:10] <mgedmin> grasping at straws: have you tried with the latest bootstrap.py from http://downloads.buildout.org/2/bootstrap.py
[16:48:30] <whyzgeek> let me download it
[16:49:25] <whyzgeek> http://dpaste.org/wu94u/
[16:49:46] <whyzgeek> mgedmin: the same :(
[16:52:18] <mgedmin> when you're testing urllib, do you just open, or do you also read():
[16:52:26] <mgedmin> because the traceback was inside read()
[16:52:56] <mgedmin> and did you try to see (with pdb.pm) what url bootstrap was trying to fetch?
[16:57:40] <whyzgeek> mgedmin: I did the read
[16:57:48] <whyzgeek> it gave me the page content no problem
[16:58:46] <mgedmin> good
[16:59:17] <mgedmin> wait -- does your proxy require authentication?
[16:59:22] <mgedmin> it could be this bug: https://bugs.launchpad.net/zc.buildout/+bug/556834
[17:00:04] <mgedmin> I've to go home now
[17:00:07] <whyzgeek> mgedmin: no I just did wget that distribute file and it worked
[17:00:15] <mgedmin> cool workaround
[17:00:29] <whyzgeek> how can I put that so
[17:00:42] <whyzgeek> boostrap sees it?
[17:00:55] <mgedmin> try patching bootstrap.py like suggested in that bug?
[17:01:08] <mgedmin> and if it works please submit a pull request at https://github.com/buildout/buildout/
[17:01:19] <mgedmin> unfortunately I've to go now
[17:01:29] <whyzgeek> mgedmin: ok thanks anyway
[17:01:33] <whyzgeek> it was great help
[17:01:34] <mgedmin> and I don't have any proxies around to test against ...
[17:01:40] <mgedmin> good luck!
[17:01:45] <whyzgeek> ;)