In article <1332374918.1428.yahoomail...@web29504.mail.ird.yahoo.com>, Eddy Barratt <eddybarra...@yahoo.co.uk> wrote:
> I can't get Numpy or Scipy to work with Python3 on Mac OSX Lion. > > > I have used pip successfully to install numpy, scipy and matplotlib, and they > work well with Python2.7, but in Python3 typing 'import numpy' brings up 'No > module named numpy'. I've tried downloading the source code directly and then > running 'python3 setup.py build', but I get various error warnings, some in > red that have to do with fortran (e.g. 'Could not locate executable f95'). In > the end I get the following message: > > 2 warnings generated. > gcc-4.2 -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -isysroot > /Developer/SDKs/MacOSX10.6.sdk -isysroot /Developer/SDKs/MacOSX10.6.sdk -g > build/temp.macosx-10.6-intel-3.2/numpy/core/src/dummymodule.o > -Lbuild/temp.macosx-10.6-intel-3.2 -o > build/lib.macosx-10.6-intel-3.2/numpy/core/_dummy.so > sh: gcc-4.2: command not found > sh: gcc-4.2: command not found > error: Command "gcc-4.2 -bundle -undefined dynamic_lookup -arch i386 -arch > x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -isysroot > /Developer/SDKs/MacOSX10.6.sdk -g > build/temp.macosx-10.6-intel-3.2/numpy/core/src/dummymodule.o > -Lbuild/temp.macosx-10.6-intel-3.2 -o > build/lib.macosx-10.6-intel-3.2/numpy/core/_dummy.so" failed with exit status > 127 > > > The Scipy website (http://www.scipy.org/Installing_SciPy/Mac_OS_X) suggests > that there may be issues with the c compiler, but the same problems didn't > arise using pip to install for python2.7. I have followed the instructions on > the website regarding changing the compiler but this has not made any > difference. Chances are you are using a Python 3.2.x installer from python.org. Those Pythons are built using gcc-4.2 from Xcode 3 on OS X 10.6. When installing 3rd-party packages with C extension modules, Python's Distutils will attempt to use the same compiler and compiler options Unfortunately, in the latest versions of Xcode 4, Apple has removed gcc-4.2. That's why you see the gcc-4.2 not found. The instructions given at the SciPy website for working around the problem by using clang appear to be missing at least one important step. Besides overriding the CC environment variable, you also will need to override LDSHARED (untested with SciPy!): $ export CC=clang $ export LDSHARED='clang -bundle -undefined dynamic_lookup \ -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -g' In the upcoming 3.2.3 maintenance release, Distutils will do the equivalent automatically if gcc-4.2 is called for but not present on the machine. Chances are that you are using the Apple-supplied Python 2.7 in 10.7, rather than a python.org version which should exhibit the same behavior as what you see with Python 3. The Apple system Python 2.7 is built with llvm-gcc, not gcc-4.2, so you wouldn't see this problem with it. However, as the SciPy page notes, there have been test failures noted when using llvm-gcc to build Python and it is recommend to not use it as it is not being actively maintained and is intended as a stepping stone to use of clang throughout OS X. Note that, starting with Xcode 4.3, Apple has made yet another major change: moving the contents of the former /Developer directory to inside the Xcode.app bundle itself. If you start with Xcode 4.3 or follow the installation step of allowing Xcode to remove the old /Developer directory, Distutils-initiated compiles will fail because they can't find the SDK with OS X header files. The workaround for that is to create a symlink from the new location to the old: $ sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Deve loper /Developer -- Ned Deily, n...@acm.org _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG