Revision: 5075
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5075&view=rev
Author: efiring
Date: 2008-04-25 09:45:30 -0700 (Fri, 25 Apr 2008)
Log Message:
-----------
Enforce python 2.4 or later; some other version-related cleanup
Modified Paths:
--------------
trunk/matplotlib/CHANGELOG
trunk/matplotlib/lib/matplotlib/__init__.py
trunk/matplotlib/setup.py
trunk/matplotlib/setupext.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG 2008-04-25 15:43:06 UTC (rev 5074)
+++ trunk/matplotlib/CHANGELOG 2008-04-25 16:45:30 UTC (rev 5075)
@@ -1,4 +1,7 @@
+2008-04-25 Enforce python >= 2.4; remove subprocess build - EF
+2008-04-25 Enforce the numpy requirement at build time - JDH
+
2008-04-24 Make numpy 1.1 and python 2.3 required when importing
matplotlib - EF
Modified: trunk/matplotlib/lib/matplotlib/__init__.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/__init__.py 2008-04-25 15:43:06 UTC (rev
5074)
+++ trunk/matplotlib/lib/matplotlib/__init__.py 2008-04-25 16:45:30 UTC (rev
5075)
@@ -95,10 +95,8 @@
from rcsetup import validate_cairo_format
major, minor1, minor2, s, tmp = sys.version_info
-_python23 = major>=2 and minor1>=3
+_python24 = major>=2 and minor1>=4
-_havemath = _python23
-
try:
import datetime
import dateutil
@@ -111,14 +109,14 @@
#except ImportError: _have_pkg_resources = False
#else: _have_pkg_resources = True
-if not _python23:
- raise SystemExit('matplotlib requires Python 2.3 or later')
+if not _python24:
+ raise SystemExit('matplotlib requires Python 2.4 or later')
import numpy
nn = numpy.__version__.split('.')
if not (int(nn[0]) >= 1 and int(nn[1]) >= 1):
raise SystemExit(
- 'numpy >= 1.1 is required; you have %s' % numpy.__version__)
+ 'numpy 1.1 or later is required; you have %s' % numpy.__version__)
def is_string_like(obj):
if hasattr(obj, 'shape'): return 0
Modified: trunk/matplotlib/setup.py
===================================================================
--- trunk/matplotlib/setup.py 2008-04-25 15:43:06 UTC (rev 5074)
+++ trunk/matplotlib/setup.py 2008-04-25 16:45:30 UTC (rev 5075)
@@ -20,28 +20,15 @@
import sys
major, minor1, minor2, s, tmp = sys.version_info
-if major==2 and minor1<=3:
- # setuptools monkeypatches distutils.core.Distribution to support
- # package_data
- try: import setuptools
- except ImportError:
- raise SystemExit("""\
-matplotlib requires setuptools for installation with python-2.3. Visit:
-http://cheeseshop.python.org/pypi/setuptools
-for installation instructions for the proper version of setuptools for your
-system. If this is your first time upgrading matplotlib with the new
-setuptools requirement, you must delete the old matplotlib install
-directory.""")
+if major==2 and minor1<4 or major<2:
+ raise SystemExit("""matplotlib requires Python 2.4 or later.""")
-if major==2 and minor1<3 or major<2:
- raise SystemExit("""matplotlib requires Python 2.3 or later.""")
-
import glob
from distutils.core import setup
from setupext import build_agg, build_gtkagg, build_tkagg, build_wxagg,\
build_ft2font, build_image, build_windowing, build_path, \
build_contour, build_nxutils, build_traits, build_gdk, \
- build_subprocess, build_ttconv, print_line, print_status, print_message, \
+ build_ttconv, print_line, print_status, print_message, \
print_raw, check_for_freetype, check_for_libpng, check_for_gtk, \
check_for_tk, check_for_wx, check_for_numpy, check_for_qt, check_for_qt4,
\
check_for_cairo, check_provide_traits, check_provide_pytz, \
@@ -100,25 +87,8 @@
]}
if not check_for_numpy():
- sys.exit()
+ sys.exit(1)
-try: import subprocess
-except ImportError: havesubprocess = False
-else: havesubprocess = True
-
-if havesubprocess and sys.version < '2.4':
- # Python didn't come with subprocess, so let's make sure it's
- # not in some Python egg (e.g. an older version of matplotlib)
- # that may get removed.
- subprocess_dir = os.path.dirname(subprocess.__file__)
- if subprocess_dir.endswith('.egg/subprocess'):
- havesubprocess = False
-
-if not havesubprocess:
- packages.append('subprocess')
- if sys.platform == 'win32':
- build_subprocess(ext_modules, packages)
-
if not check_for_freetype():
sys.exit(1)
Modified: trunk/matplotlib/setupext.py
===================================================================
--- trunk/matplotlib/setupext.py 2008-04-25 15:43:06 UTC (rev 5074)
+++ trunk/matplotlib/setupext.py 2008-04-25 16:45:30 UTC (rev 5075)
@@ -532,21 +532,17 @@
return False
def check_for_numpy():
- gotit = False
try:
import numpy
except ImportError:
print_status("numpy", "no")
- print_message("You must install numpy to build matplotlib.")
- return False
-
- major, minor1, minor2 = map(int, numpy.__version__.split('.')[:3])
- if major<1 or (major==1 and minor1<1):
- print_status("numpy version", "no")
print_message("You must install numpy 1.1 or later to build
matplotlib.")
-
return False
-
+ nn = numpy.__version__.split('.')
+ if not (int(nn[0]) >= 1 and int(nn[1]) >= 1):
+ print_message(
+ 'numpy 1.1 or later is required; you have %s' % numpy.__version__)
+ return False
module = Extension('test', [])
add_numpy_flags(module)
add_base_flags(module)
@@ -554,16 +550,13 @@
print_status("numpy", numpy.__version__)
if not find_include_file(module.include_dirs, os.path.join("numpy",
"arrayobject.h")):
print_message("Could not find the headers for numpy. You may need to
install the development package.")
+ return False
return True
def add_numpy_flags(module):
"Add the modules flags to build extensions which use numpy"
import numpy
- # TODO: Remove this try statement when it is no longer needed
- try:
- module.include_dirs.append(numpy.get_include())
- except AttributeError:
- module.include_dirs.append(numpy.get_numpy_include())
+ module.include_dirs.append(numpy.get_include())
def add_agg_flags(module):
'Add the module flags to build extensions which use agg'
@@ -1267,10 +1260,3 @@
BUILT_GDK = True
-def build_subprocess(ext_modules, packages):
- module = Extension(
- 'subprocess._subprocess',
- ['src/_subprocess.c', ],
- )
- add_base_flags(module)
- ext_modules.append(module)
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins