| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Corrects an AttributeError on windows in some cases caused by #6185
|
| |
|
|
|
| |
Warns on OS X with MacPorts Python because it doesn't recognize clang. There isn't actually a problem, though, as distutils.sysconfig has done its job just fine. Proposed fix.
|
|
|
|
| |
Snuck in in gh-5694.
|
|
|
|
| |
Thanks to Intel for contributing this patch. Contact: Yolanda Chen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow extensions using numpy.distutils to compile in parallel.
By passing `--jobs=n` or `-j n` to `setup.py build` the compilation of
extensions is now performed in `n` parallel processes.
Additionally the environment variable NPY_NUM_BUILD_JOBS is used as
the default value, if its unset the default is serial compilation.
The parallelization is limited to within the files of an extension, so
only numpy multiarraymodule really profits but its still a nice
improvement when you have 2-4 cores.
Unfortunately Cython will not profit at all as it tends to build one
module per file.
|
|
|
|
|
|
|
| |
Run the 2to3 ws_comma fixer on *.py files. Some lines are now too long
and will need to be broken at some point. OTOH, some lines were already
too long and need to be broken at some point. Now seems as good a time
as any to do this with open PRs at a minimum.
|
|
|
|
| |
This function is no longer required for building with msvc on AMD64
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The idioms fixer makes the following replacements.
1) int <- bool
2) comparison or identity of types <- isinstance
3) a.sort() <- sorted(a)
There were two problems that needed to be dealt with after the
application of the fixer. First, the replacement of comparison or
identity of types by isinstance was not always correct. The isinstance
function returns true for subtypes whereas many of the places where the
fixer made a substitution needed to check for exact type equality.
Second, the sorted function was applied to arrays, but because it treats
them as iterators and constructs a sorted list from the result, that is
the wrong thing to do.
Closes #3062.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Python3 `dict.items()`, `dict.keys()`, and `dict.values()` are
iterators. This causes problems when a list is needed so the 2to3 fixer
explicitly constructs a list when is finds on of those functions.
However, that is usually not necessary, so a lot of the work here has
been cleaning up those places where the fix is not needed. The big
exception to that is the `numpy/f2py/crackfortran.py` file. The code
there makes extensive use of loops that modify the contents of the
dictionary being looped through, which raises an error. That together
with the obscurity of the code in that file made it safest to let the
`dict` fixer do its worst.
Closes #3050.
|
|
|
|
|
|
|
| |
Add `print_function` to all `from __future__ import ...` statements
and use the python3 print function syntax everywhere.
Closes #3078.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new import `absolute_import` is added the `from __future__ import`
statement and The 2to3 `import` fixer is run to make the imports
compatible. There are several things that need to be dealt with to make
this work.
1) Files meant to be run as scripts run in a different environment than
files imported as part of a package, and so changes to those files need
to be skipped. The affected script files are:
* all setup.py files
* numpy/core/code_generators/generate_umath.py
* numpy/core/code_generators/generate_numpy_api.py
* numpy/core/code_generators/generate_ufunc_api.py
2) Some imported modules are not available as they are created during
the build process and consequently 2to3 is unable to handle them
correctly. Files that import those modules need a bit of extra work.
The affected files are:
* core/__init__.py,
* core/numeric.py,
* core/_internal.py,
* core/arrayprint.py,
* core/fromnumeric.py,
* numpy/__init__.py,
* lib/npyio.py,
* lib/function_base.py,
* fft/fftpack.py,
* random/__init__.py
Closes #3172
|
|
|
|
|
|
|
|
| |
This should be harmless, as we already are division clean. However,
placement of this import takes some care. In the future a script
can be used to append new features without worry, at least until
such time as it exceeds a single line. Having that ability will
make it easier to deal with absolute imports and printing updates.
|
|
|
|
| |
Also works inside a virtualenv.
|
| |
|
| |
|
|
|
|
| |
Thanks to R. Perez.
|
|
|
|
| |
(Intel Visual Compiler, IA-32, Version 11.1)
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
attribute error
|
| |
|
| |
|
| |
|
|
|
|
| |
understand.
|
| |
|
| |
|
|
|
|
| |
distutils.*compiler modules (esp. msvccompiler)
|
|
|
|
| |
message on the situation that triggered this issue: numpy.distutils must always be imported before distutils.
|
| |
|
| |
|
|
|
|
|
| |
ignore when customising. This will be used to simplify some of the compiler
customisation in command/
|
| |
|
|
|
|
| |
quote_args also to include_dirs.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
handle spaces in program path. This fixes building
numpy/scipy on Windows using mingw32 g77 with full
path=C:\Program Files\MinGW\g77.exe.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove FCompiler.get_version_cmd, FCompiler.get_flags_version,
FCompiler.get_linker_so_cmd, and FCompiler.get_linker_exe_cmd;
subclasses should do this in FCompiler.update_executables()
* FCompiler attributes .compiler_f77, .version_cmd, etc., are now
properties that read from the .executables dictionary.
* Update intel.py and absoft.py for above
* Add extra asserts for defensive programming. Most of our problems
here seem to come from bad values being generated, and the error not
being caught until later.
* must call FCompiler.customize() before FCompiler.get_version();
command/build_ext.py and command/config.py updated
* verify that commands make sense earlier -- must be None or
lists of strings
Also,
* add IA-32 as another pattern to search for in 32-bit Intel
compiler version.
* minor formatting
* add debugging helpers to environment.py:EnvironmentConfig class
|
| |
|
| |
|
|\
| |
| |
| |
| |
| | |
- minor cleanups
- find_executable returns None when no file found (instead of having to
check with os.path.isfile)
|
| | |
|
| | |
|