Show More
setupext.py
176 lines
| 5.1 KiB
| text/x-python
|
PythonLexer
/ setupext / setupext.py
Brian E Granger
|
r1237 | # encoding: utf-8 | |
__docformat__ = "restructuredtext en" | |||
#------------------------------------------------------------------------------- | |||
# Copyright (C) 2008 The IPython Development Team | |||
# | |||
# Distributed under the terms of the BSD License. The full license is in | |||
# the file COPYING, distributed as part of this software. | |||
#------------------------------------------------------------------------------- | |||
#------------------------------------------------------------------------------- | |||
# Imports | |||
#------------------------------------------------------------------------------- | |||
import sys, os | |||
from textwrap import fill | |||
display_status=True | |||
if display_status: | |||
def print_line(char='='): | |||
print char * 76 | |||
def print_status(package, status): | |||
initial_indent = "%22s: " % package | |||
indent = ' ' * 24 | |||
print fill(str(status), width=76, | |||
initial_indent=initial_indent, | |||
subsequent_indent=indent) | |||
def print_message(message): | |||
indent = ' ' * 24 + "* " | |||
print fill(str(message), width=76, | |||
initial_indent=indent, | |||
subsequent_indent=indent) | |||
def print_raw(section): | |||
print section | |||
else: | |||
def print_line(*args, **kwargs): | |||
pass | |||
print_status = print_message = print_raw = print_line | |||
#------------------------------------------------------------------------------- | |||
# Tests for specific packages | |||
#------------------------------------------------------------------------------- | |||
def check_for_ipython(): | |||
try: | |||
import IPython | |||
except ImportError: | |||
print_status("IPython", "Not found") | |||
return False | |||
else: | |||
print_status("IPython", IPython.__version__) | |||
return True | |||
def check_for_zopeinterface(): | |||
try: | |||
import zope.interface | |||
except ImportError: | |||
print_status("zope.Interface", "Not found (required for parallel computing capabilities)") | |||
return False | |||
else: | |||
print_status("Zope.Interface","yes") | |||
return True | |||
def check_for_twisted(): | |||
try: | |||
import twisted | |||
except ImportError: | |||
print_status("Twisted", "Not found (required for parallel computing capabilities)") | |||
return False | |||
else: | |||
major = twisted.version.major | |||
minor = twisted.version.minor | |||
micro = twisted.version.micro | |||
if not ((major==2 and minor>=5 and micro>=0) or \ | |||
major>=8): | |||
print_message("WARNING: IPython requires Twisted 2.5.0 or greater, you have version %s"%twisted.version.short()) | |||
return False | |||
else: | |||
print_status("Twisted", twisted.version.short()) | |||
return True | |||
def check_for_foolscap(): | |||
try: | |||
import foolscap | |||
except ImportError: | |||
print_status('Foolscap', "Not found (required for parallel computing capabilities)") | |||
return False | |||
else: | |||
print_status('Foolscap', foolscap.__version__) | |||
return True | |||
def check_for_pyopenssl(): | |||
try: | |||
import OpenSSL | |||
except ImportError: | |||
print_status('OpenSSL', "Not found (required if you want security in the parallel computing capabilities)") | |||
return False | |||
else: | |||
print_status('OpenSSL', OpenSSL.__version__) | |||
return True | |||
def check_for_sphinx(): | |||
try: | |||
import sphinx | |||
except ImportError: | |||
print_status('sphinx', "Not found (required for building the IPtyhon documentation)") | |||
return False | |||
else: | |||
print_status('sphinx', sphinx.__version__) | |||
return True | |||
def check_for_pygments(): | |||
try: | |||
import pygments | |||
except ImportError: | |||
print_status('pygments', "Not found (required for syntax highlighting of code in the IPtyhon documentation)") | |||
return False | |||
else: | |||
print_status('pygments', pygments.__version__) | |||
return True | |||
def check_for_nose(): | |||
try: | |||
import nose | |||
except ImportError: | |||
print_status('nose', "Not found (required for running the IPython test suite)") | |||
return False | |||
else: | |||
print_status('nose', nose.__version__) | |||
return True | |||
def check_for_pexpect(): | |||
try: | |||
import pexpect | |||
except ImportError: | |||
print_status("pexpect", "no (required for running standalone doctests)") | |||
return False | |||
else: | |||
print_status("pexpect", pexpect.__version__) | |||
return True | |||
def check_for_httplib2(): | |||
try: | |||
import httplib2 | |||
except ImportError: | |||
print_status("httplib2", "no (required for blocking http clients)") | |||
return False | |||
else: | |||
print_status("httplib2","yes") | |||
return True | |||
def check_for_sqlalchemy(): | |||
try: | |||
import sqlalchemy | |||
except ImportError: | |||
print_status("sqlalchemy", "no (required for the ipython1 notebook)") | |||
return False | |||
else: | |||
print_status("sqlalchemy","yes") | |||
return True | |||
def check_for_simplejson(): | |||
try: | |||
import simplejson | |||
except ImportError: | |||
print_status("simplejson", "no (required for the ipython1 notebook)") | |||
return False | |||
else: | |||
print_status("simplejson","yes") | |||
return True | |||