@@ -508,7 +508,7 @@ def read_first_existing(pkg_name, versions, dir, suffix):
508
508
509
509
# end of code duplicated in pip_hook.py
510
510
511
- def install_from_pypi (package , extra_opts = [], add_cflags = "" , ignore_errors = True , env = {} ):
511
+ def install_from_pypi (package , extra_opts = [], add_cflags = "" , ignore_errors = True , env = None ):
512
512
package_pattern = os .environ .get ("GINSTALL_PACKAGE_PATTERN" , "https://pypi.org/pypi/%s/json" )
513
513
package_version_pattern = os .environ .get ("GINSTALL_PACKAGE_VERSION_PATTERN" , "https://pypi.org/pypi/%s/%s/json" )
514
514
@@ -535,6 +535,16 @@ def install_from_pypi(package, extra_opts=[], add_cflags="", ignore_errors=True,
535
535
url = url_info ["url" ]
536
536
break
537
537
538
+ # make copy of env
539
+ env = env .copy () if env is not None else os .environ .copy ()
540
+ from distutils .sysconfig import get_config_var
541
+ env .setdefault ("CC" , get_config_var ("CC" ))
542
+ env .setdefault ("CXX" , get_config_var ("CXX" ))
543
+ env .setdefault ("AR" , get_config_var ("AR" ))
544
+ env .setdefault ("RANLIB" , get_config_var ("RANLIB" ))
545
+ env .setdefault ("CFLAGS" , get_config_var ("CFLAGS" ))
546
+ env .setdefault ("LDFLAGS" , get_config_var ("CCSHARED" ))
547
+
538
548
if url :
539
549
_install_from_url (url , package = package , extra_opts = extra_opts , add_cflags = add_cflags ,
540
550
ignore_errors = ignore_errors , env = env , version = version )
0 commit comments