diff --git a/makepanda/installpanda.py b/makepanda/installpanda.py index a60ed4e66b..4a8b7df979 100644 --- a/makepanda/installpanda.py +++ b/makepanda/installpanda.py @@ -10,10 +10,12 @@ import os import sys -import sysconfig from optparse import OptionParser from makepandacore import * +# DO NOT CHANGE TO sysconfig - see GitHub issue #1230 +from distutils.sysconfig import get_python_lib + MIME_INFO = ( ("egg", "model/x-egg", "EGG model file", "pview"), @@ -141,7 +143,7 @@ def GetLibDir(): # If Python is installed into /usr/lib64, it's probably safe # to assume that we should install there as well. - python_lib = sysconfig.get_path("platlib") + python_lib = get_python_lib(1) if python_lib.startswith('/usr/lib64/') or \ python_lib.startswith('/usr/local/lib64/'): return "lib64" diff --git a/makepanda/makepackage.py b/makepanda/makepackage.py index 960265f97d..81a64abd44 100755 --- a/makepanda/makepackage.py +++ b/makepanda/makepackage.py @@ -6,7 +6,6 @@ import shutil import glob import re import subprocess -import sysconfig from makepandacore import * from installpanda import * @@ -909,7 +908,9 @@ def MakeInstallerAndroid(version, **kwargs): shutil.copy(os.path.join(source_dir, base), target) # Copy the Python standard library to the .apk as well. - stdlib_source = sysconfig.get_path("stdlib") + # DO NOT CHANGE TO sysconfig - see #1230 + from distutils.sysconfig import get_python_lib + stdlib_source = get_python_lib(False, True) stdlib_target = os.path.join("apkroot", "lib", "python{0}.{1}".format(*sys.version_info)) copy_python_tree(stdlib_source, stdlib_target) diff --git a/makepanda/makepanda.py b/makepanda/makepanda.py index d121186197..1c2b9a6f8e 100755 --- a/makepanda/makepanda.py +++ b/makepanda/makepanda.py @@ -21,7 +21,6 @@ try: import threading import signal import shutil - import sysconfig import plistlib import queue except KeyboardInterrupt: diff --git a/makepanda/makepandacore.py b/makepanda/makepandacore.py index 5314e91da9..f436ac27dd 100644 --- a/makepanda/makepandacore.py +++ b/makepanda/makepandacore.py @@ -6,6 +6,7 @@ ######################################################################## import configparser +from distutils import sysconfig # DO NOT CHANGE to sysconfig - see #1230 import fnmatch import getpass import glob @@ -17,7 +18,6 @@ import shutil import signal import subprocess import sys -import sysconfig import threading import _thread as thread import time @@ -2190,12 +2190,12 @@ def SdkLocatePython(prefer_thirdparty_python=False): LibDirectory("PYTHON", py_fwx + "/lib") #elif GetTarget() == 'windows': - # SDK["PYTHON"] = os.path.dirname(sysconfig.get_path("include")) + # SDK["PYTHON"] = os.path.dirname(sysconfig.get_python_inc()) # SDK["PYTHONVERSION"] = "python" + sysconfig.get_python_version() # SDK["PYTHONEXEC"] = sys.executable else: - SDK["PYTHON"] = sysconfig.get_path("include") + SDK["PYTHON"] = sysconfig.get_python_inc() SDK["PYTHONVERSION"] = "python" + sysconfig.get_python_version() + abiflags SDK["PYTHONEXEC"] = os.path.realpath(sys.executable) @@ -3485,8 +3485,8 @@ def GetCurrentPythonVersionInfo(): "soabi": GetPythonABI(), "ext_suffix": GetExtensionSuffix(), "executable": sys.executable, - "purelib": sysconfig.get_path("purelib"), - "platlib": sysconfig.get_path("platlib"), + "purelib": sysconfig.get_python_lib(False), + "platlib": sysconfig.get_python_lib(True), }