Opened at 2010-03-30T15:32:53Z
Closed at 2010-04-03T22:59:13Z
#1012 closed defect (duplicate)
Downloading pysqlite takes quite a long time
| Reported by: | zooko | Owned by: | somebody |
|---|---|---|---|
| Priority: | major | Milestone: | undecided |
| Component: | packaging | Version: | 1.6.1 |
| Keywords: | pysqlite install | Cc: | nodakai@… |
| Launchpad Bug: |
Description
NODA, Kai reported to the list:
http://allmydata.org/pipermail/tahoe-dev/2010-January/003657.html
His full message is appended below.
http://pysqlite.org is still unreachable at this time. I don't think there is a good solution to this problem in Tahoe-LAFS's packaging, though. The only good solution that I can think of is for the code which downloads dependencies to try all sources in parallel instead of in series, so that if one of the sources waits for minutes before timing out, the download can proceed from the other sources.
So that would be an issue for the developers of setuptools and/or "distribute" (the Python packaging module) to address.
Oh, there is another solution that we could implement in terms of Tahoe-LAFS packaging: host copies of all our dependencies on a Tahoe-LAFS grid which is highly available! :-)
On machines with Python 2.4.x (CentOS servers,) setup.py wants to
download pysqlite>=2.0.5 as an external package.
My problem is that installation take as long as twenty minutes.
I must endure so many times of timeouts during name resolution of
"pysqlite.org" which seems expired.
One way to circumvent this annoyance is installing pysqlite beforehand
by easy_install.
To my surprise, installation in this way takes less than two minutes,
because timeout of resolving "pysqlite.org" occurs only once.
My question is that what causes this difference, and whether there are
any ways to skip "pysqlite.org" during installation by setup.py .
Thanks,
Kai
P.S. Lengthy logs are pasted below:
=== 1. USING SETUP.PY ===
$ uname -a
Linux [snip] 2.6.18-128.el5 #1 SMP Wed Jan 21 10:41:14 EST 2009 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/redhat-release
CentOS release 5.4 (Final)
$ python -V
Python 2.4.3
$ python setup.py build
[snip]
Processing dependencies for allmydata-tahoe==0.0.0
Searching for pysqlite>=2.0.5
Reading http://allmydata.org/source/tahoe/deps/tahoe-dep-sdists/
Reading http://allmydata.org/source/tahoe/deps/tahoe-dep-eggs/
Reading http://pypi.python.org/simple/pysqlite/
Reading http://pysqlite.sourceforge.net/
Reading http://pysqlite.googlecode.com/
Reading http://code.google.com/p/pysqlite/downloads/list
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://initd.org/tracker/pysqlite/wiki/PysqliteDownloads
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://initd.org/pub/software/pysqlite/releases/2.3/2.3.3/
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://initd.org/pub/software/pysqlite/releases/2.3/2.3.4/
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://oss.itsystementwicklung.de/trac/pysqlite
Reading http://oss.itsystementwicklung.de/download/pysqlite/2.5/2.5.0/
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://oss.itsystementwicklung.de/download/pysqlite/2.4/2.4.1/
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://initd.org/pub/software/pysqlite/releases/2.4/2.4.0/
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://initd.org/pub/software/pysqlite/releases/2.3/2.3.5/
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Best match: pysqlite 2.5.6
Downloading http://pysqlite.googlecode.com/files/pysqlite-2.5.6.tar.gz
Processing pysqlite-2.5.6.tar.gz
Running pysqlite-2.5.6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-3hF-OG/pysqlite-2.5.6/egg-dist-tmp-JWPadv
File "build/bdist.linux-x86_64/egg/pysqlite2/test/py25tests.py", line 48
with self.con:
^
SyntaxError: invalid syntax
zip_safe flag not set; analyzing archive contents...
File "/var/tmp/k_noda/tahoe-HEAD/support/lib/python2.4/site-packages/pysqlite-2.5.6-py2.4-linux-x86_64.egg/pysqlite2/test/py25tests.py", line 48
with self.con:
^
SyntaxError: invalid syntax
Adding pysqlite 2.5.6 to easy-install.pth file
Installed /var/tmp/k_noda/tahoe-HEAD/support/lib/python2.4/site-packages/pysqlite-2.5.6-py2.4-linux-x86_64.egg
[snip]
python setup.py build 78.14s user 7.64s system 6% cpu 21:42.50 total
=== 2. USING EASY_INSTALL ===
Here ~/vt is a symlink to /var/tmp/k_noda/ .
$ cat ~/.pydistutils.cfg
[install]
install_lib = ~/vt/local/lib64/python2.4/site-packages
install_scripts = ~/vt/local/bin
$ sh setuptools-0.6c11-py2.4.egg
[snip]
$ time easy_install pysqlite
Searching for pysqlite
Reading http://pypi.python.org/simple/pysqlite/
Reading http://pysqlite.sourceforge.net/
Reading http://pysqlite.googlecode.com/
Reading http://code.google.com/p/pysqlite/downloads/list
Reading http://pysqlite.org/
Download error: (-3, 'Temporary failure in name resolution') -- Some packages may not be found!
Reading http://initd.org/tracker/pysqlite/wiki/PysqliteDownloads
Reading http://initd.org/pub/software/pysqlite/releases/2.3/2.3.3/
Reading http://initd.org/pub/software/pysqlite/releases/2.3/2.3.4/
Reading http://oss.itsystementwicklung.de/trac/pysqlite
Reading http://oss.itsystementwicklung.de/download/pysqlite/2.5/2.5.0/
Reading http://oss.itsystementwicklung.de/download/pysqlite/2.4/2.4.1/
Reading http://initd.org/pub/software/pysqlite/releases/2.4/2.4.0/
Reading http://initd.org/pub/software/pysqlite/releases/2.3/2.3.5/
Best match: pysqlite 2.5.6
Downloading http://pysqlite.googlecode.com/files/pysqlite-2.5.6.tar.gz
Processing pysqlite-2.5.6.tar.gz
Running pysqlite-2.5.6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-YdjN2D/pysqlite-2.5.6/egg-dist-tmp-BTWdyF
File "build/bdist.linux-x86_64/egg/pysqlite2/test/py25tests.py", line 48
with self.con:
^
SyntaxError: invalid syntax
zip_safe flag not set; analyzing archive contents...
Adding pysqlite 2.5.6 to easy-install.pth file
Installed /var/tmp/k_noda/local/lib64/python2.4/site-packages/pysqlite-2.5.6-py2.4-linux-x86_64.egg
Processing dependencies for pysqlite
Finished processing dependencies for pysqlite
easy_install pysqlite 1.70s user 0.33s system 2% cpu 1:09.45 total
Change History (2)
comment:1 Changed at 2010-03-30T15:33:26Z by zooko
comment:2 Changed at 2010-04-03T22:59:13Z by davidsarah
- Keywords pysqlite install added
- Resolution set to duplicate
- Status changed from new to closed
Duplicate of #566.

Ah, the idea of hosting dependencies on a Tahoe-LAFS grid is #566 (host tahoe dependencies).