tahoe-lafs/_auto_deps.py
robk-tahoe 5333d976e8 auto_deps: require foolscap >= 2.5
the key_generator depends upon tub.setLocationAutomatically() which is only
available in foolscap > 0.2.5
2008-04-03 16:06:46 -07:00

42 lines
1.6 KiB
Python

install_requires=["zfec >= 1.1.0",
"foolscap >= 0.2.5",
"simplejson >= 1.4",
"pycryptopp >= 0.2.8",
"nevow >= 0.6.0",
"zope.interface",
]
import sys
if hasattr(sys, 'frozen'):
install_requires=[]
def require_auto_deps():
try:
import pkg_resources
except:
# Then we can't assert that the versions of these packages are the right
# versions, but we can still try to use them anyway...
pass
else:
for requirement in install_requires:
try:
pkg_resources.require(requirement)
except pkg_resources.DistributionNotFound:
# there is no .egg-info present for this requirement, which
# either means that it isn't installed, or it is installed in
# a way that pkg_resources can't find it (but regular python
# might). The __import__ below will pass the second case,
# which is good enough for us. There are several
# distributions which provide our dependencies just fine, but
# they don't ship .egg-info files. Note that if there *is* an
# .egg-info file, but it indicates an older version, then
# we'll get a VersionConflict error instead of
# DistributionNotFound.
pass
for requirement in install_requires:
reqparts = requirement.split()
name = reqparts[0]
__import__(name)
if __name__ == "__main__":
require_auto_deps()