| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
*Importing* distutils.msvccompiler works on non-Windows systems, but
triggers a pointless "warning" (using distutils' own logging system;
"Can't read registry etc.") Delay the import so that other uses of
distutils.misc_util are not affected.
When running distutils commands, the verbosity is set by default to 1
(`self.verbose = 1` in distutils/dist.py) so the warning does get
displayed.
To trigger the warning, subclass e.g. build_ext, override its
finalize_options method, import numpy.distutils.misc_util from there,
and then pass the new build_ext as cmdclass to setuptools.setup().
Partially reverts 15f52f5.
|
| | |
|
| |
| |
| |
| |
| |
| | |
The default value for get_num_build_jobs() is now the number of CPUs
limited to a maximum of 8. This is to prevent overloading systems
with a lot of CPUs. See ticket #12087
|
|\ \
| | |
| | | |
MAINT: remove redundant imports
|
| |/ |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
| |
Numpy wheels on Windows were clearing the ctypes path when they loaded
the OpenBLAS DLL, leading to failure of DLL loads subsequent to NumPy
import because the needed DLLs could not be found.
This isn't a straight revert, it restores to the 1.15.x version of
the relevant code.
Closes #11431.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
so that the python-scikit-learn openSUSE package
that uses config.add_extension(name, "path/to/*.cpp", ...)
builds in a reproducible way
in spite of indeterministic filesystem readdir order
and http://bugs.python.org/issue30461
See https://reproducible-builds.org/ for why this is good.
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Here, we align the extra-dll name to the one
that auditwheel uses, and we handle the case where
1) there is more than one root package and
2) the root package name is different
than the distribution name
|
| | |
|
|/
|
|
|
|
| |
This should reduce some DLL hell scenarios, namely scipy/scipy#8064.
partial credits to @carlkl
|
|
|
|
|
|
|
|
|
|
|
| |
Whilst working on the Reproducible Builds effort [0], we noticed
that python-numpy generates output that is not reproducible. This
affects "downstream" packages such as numexpr.
This occurs as it encodes the absolute pathname into the generated file.
[0] https://reproducible-builds.org/
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add concept of unlinkable Fortran object files on the level of
build_clib/build_ext.
Make build_clib generate fake static libs when unlinkable object files are
present, postponing the actual linkage to build_ext.
This enables MSVC+gfortran DLL chaining to only involve those DLLs that
are actually necessary for each .pyd file, rather than linking everything
in to every file. Linking everything to everywhere has issues due to
potential symbol clashes and the fact that library build order is
unspecified.
Record shared_libs on disk instead of in system_info. This is necessary
for partial builds -- it is not guaranteed the compiler is actually called
for all of the DLL files.
Remove magic from openblas msvc detection. That this worked previously
relied on the side effect that the generated openblas DLL would be added
to shared_libs, and then being linked to all generated outputs.
|
|
|
|
|
|
|
|
|
|
| |
This allows mingw's gfortran to work with MSVC. DLLs are
autogenerated using heuristics that should work with most
cases. In addition, a libopenblas DLL is compiled from
the static lib for use with MSVC.
All generated DLLs have randomized names so that no clashes
will occur.
|
|
|
|
| |
- Now that `set` datastructure has been added the `builtin` module, we do not need to explicitly import from `sets` module
|
| |
|
|
|
|
| |
Bare except is very rarely the right thing
|
|
|
|
|
|
|
| |
Some projects compile an extension multiple times with different flags.
As it is not intended to get the extension name from the compiler
object, store the last used flags in the dependency file and also check
if they match the flags of the current build.
|
|
|
|
|
|
|
| |
In Python 3.6 a number of escape sequences that were previously accepted
-- for instance "\(" that was translated to "\\(" -- are deprecated. To
retain the previous behavior either raw strings must be used or the
backslash must be properly escaped itself.
|
|\
| |
| | |
Fix building extensions with MinGW for Python 3.5
|
| |
| |
| |
| |
| |
| |
| |
| | |
Python 3.5 is built against vcruntime140 instead of msvcrXXX, and the
internal version number reported by the version string is 1900. This
cause building extensions to fail, complaining about a missing compiler.
This patch adds the latest runtime library to the list.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are three concepts in the C runtime library used by Python on
Windows (from the Microsoft Visual C compiler); the internal build
number (e.g. 0x1600), the major version of the runtime (e.g. 10.0),
and the name of the link library of the runtime (e.g. msvcr100).
This patch separates getting these three values into separate functions
so that other code can be relieved of parsing the string return value
of the msvc_runtime_library function.
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Docstring listed extra_f77_compiler_args and extra_f90_compiler_args
as allowed keywords, but per command/build_clib.py, lines 193-194
the recognized keywords are in fact extra_f77_compile_args and
extra_f90_compile_args.
The keyword extra_compiler_args, although non-confirmant both for
fortran keywords and to the keywords of add_extension, is consistent
with the implementation (see line 200 of build_clib.py).
|
|\
| |
| | |
f2py.compile issues (#7683)
|
| |
| |
| |
| | |
f2py.compile (issue #7683)
|
|/ |
|
|
|
|
|
| |
Closes gh-7707. Happened for `pip install .` or another location (including a
remote git repo).
|
|
|
|
|
|
| |
This was triggered by the numpy version string (which is unicde)
being included in metadata. This could also solve other problems
for external users of numpy.distutils.
|
|
|
|
|
|
|
| |
Old code used the thread local storage wrong and also only deleted the
directories created for the last parallel build section as the exit
handler only knows about one of the directories.
Fix by storing all created tempdirs to delete at exit.
|
|
|
|
|
|
|
|
|
| |
Revert mingwpy modifications to distutils. They are causing problems
for non-windows builds and it is better to wait until mingypy is
further along.
This reverts commit cda64938eb150b1af6677db4754da3be5fd7e483, reversing
changes made to 8cb3ec6ab804f594daf553e53e7cf7478656bebd.
|
| |
|
|
|
|
| |
python3.5 uses --parallel instead of --jobs
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Caused SciPy tests to fail when built with this NumPy.
|
|
|
|
|
|
| |
Add escaping and quoting of dirs and enabled POSIX support in lexer.
Closes #4382.
|
|
|
|
|
| |
This covers those locations that either import or build numarray
or numeric.
|
|
|
|
|
|
|
| |
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 configuration variables are not a reliable mean to get the shared
library extension. darwin, windows and debug linux are wrong in these
variables.
SHLIB_SUFFIX is also wrong as of python 3.3.1
closes #3057
|
|
|
|
|
|
|
| |
Add `print_function` to all `from __future__ import ...` statements
and use the python3 print function syntax everywhere.
Closes #3078.
|
|\
| |
| | |
2to3: Apply `imports` fixer.
|