curdling
curdling copied to clipboard
installation of package with ftp download url
Hi,
i've just tried curdling to setup our env but python-memcached failes because it uses a download url from ftp.
2015-12-18 09:15:52,251:curdling.services.base:DEBUG:finder.start()
2015-12-18 09:15:52,251:curdling.services.base:DEBUG:downloader.start()
2015-12-18 09:15:52,251:curdling.services.base:DEBUG:curdler.start()
2015-12-18 09:15:52,252:curdling.services.base:DEBUG:dependencer.start()
2015-12-18 09:15:52,252:curdling.install:DEBUG:install.queue(from="main", data="{'requirement': u'python-memcached'}")
2015-12-18 09:15:52,252:curdling.services.base:DEBUG:finder.queue(from="main", data="{'requirement': u'python-memcached'}")
Retrieving: [ ] 0% (1 requested, 0 retrieved, 0 processed)2015-12-18 09:15:52,252:curdling.services.base:DEBUG:finder[Thread-1].run(data="{'requirement': u'python-memcached'}")
Retrieving: [ ] 0% (1 requested, 0 retrieved, 0 processed)2015-12-18 09:15:53,214:curdling.services.base:ERROR:finder[Thread-1].run(from="main", data="{'requirement': u'python-memcached'}") failed:
/home/foobar/testenv/local/lib/python2.7/site-packages/curdling/services/base.py:80 (_worker) result = self(requester, **sender_data) or {}
Traceback (most recent call last):
File "/home/foobar/testenv/local/lib/python2.7/site-packages/curdling/services/base.py", line 80, in _worker
result = self(requester, **sender_data) or {}
File "/home/foobar/testenv/local/lib/python2.7/site-packages/curdling/services/base.py", line 67, in __call__
return self.handle(requester, kwargs)
File "/home/foobar/testenv/local/lib/python2.7/site-packages/curdling/services/downloader.py", line 264, in handle
distribution = self.locator.locate(requirement, prereleases)
File "/home/foobar/testenv/local/lib/python2.7/site-packages/curdling/services/downloader.py", line 118, in locate
versions = locator.get_project(pkg.name)
File "/home/foobar/testenv/local/lib/python2.7/site-packages/distlib/locators.py", line 148, in get_project
result = self._get_project(name)
File "/home/foobar/testenv/local/lib/python2.7/site-packages/curdling/services/downloader.py", line 142, in _get_project
found = self._fetch(url, package_name)
File "/home/foobar/testenv/local/lib/python2.7/site-packages/curdling/services/downloader.py", line 166, in _fetch
versions.update(self._fetch(link, project_name, subvisit=True))
File "/home/foobar/testenv/local/lib/python2.7/site-packages/curdling/services/downloader.py", line 162, in _fetch
page = self.get_page(url)
File "/home/foobar/testenv/local/lib/python2.7/site-packages/curdling/services/downloader.py", line 188, in get_page
response, final_url = http_retrieve(self.opener, url)
File "/home/foobar/testenv/local/lib/python2.7/site-packages/curdling/services/downloader.py", line 82, in http_retrieve
response = pool.request('GET', url, **params)
File "/home/foobar/testenv/local/lib/python2.7/site-packages/urllib3/request.py", line 69, in request
**urlopen_kw)
File "/home/foobar/testenv/local/lib/python2.7/site-packages/urllib3/request.py", line 89, in request_encode_url
return self.urlopen(method, url, **extra_kw)
File "/home/foobar/testenv/local/lib/python2.7/site-packages/urllib3/poolmanager.py", line 152, in urlopen
conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
File "/home/foobar/testenv/local/lib/python2.7/site-packages/urllib3/poolmanager.py", line 125, in connection_from_host
pool = self._new_pool(scheme, host, port)
File "/home/foobar/testenv/local/lib/python2.7/site-packages/urllib3/poolmanager.py", line 84, in _new_pool
pool_cls = pool_classes_by_scheme[scheme]
KeyError: u'ftp'
Retrieving: [##########] 100% (1 requested, 0 retrieved, 0 built, 1 failed)
Some milk was spilled in the process:
python-memcached
* python-memcached explicit requirement: KeyError:
u'ftp'
reproduce:
curd install python-memcached
it uses a ftp download url https://github.com/linsomniac/python-memcached/blob/master/setup.py#L15