Skip to content
Snippets Groups Projects
Commit e0506fea authored by Colm Talbot's avatar Colm Talbot
Browse files

MAINT: remove deprecated distutils usage

parent 0ebc4ae9
No related branches found
No related tags found
1 merge request!1195MAINT: remove deprecated distutils usage
from distutils.version import LooseVersion
import numpy as np
import pandas as pd
from packaging import version
from ..core.sampler.base_sampler import SamplerError
from ..core.utils import logger
......@@ -512,7 +511,7 @@ class Sample(object):
def calculate_tau(x, autocorr_c=5):
import emcee
if LooseVersion(emcee.__version__) < LooseVersion("3"):
if version.parse(emcee.__version__) < version.parse("3"):
raise SamplerError("bilby-mcmc requires emcee > 3.0 for autocorr analysis")
if np.all(np.diff(x) == 0):
......
import datetime
import distutils.dir_util
import os
import shutil
import signal
......@@ -972,8 +971,10 @@ class _TemporaryFileSamplerMixin:
f"Overwriting {self.outputfiles_basename} with {self.temporary_outputfiles_basename}"
)
outputfiles_basename_stripped = self.outputfiles_basename.rstrip("/")
distutils.dir_util.copy_tree(
self.temporary_outputfiles_basename, outputfiles_basename_stripped
shutil.copytree(
self.temporary_outputfiles_basename,
outputfiles_basename_stripped,
dirs_exist_ok=True,
)
def _setup_run_directory(self):
......@@ -988,8 +989,10 @@ class _TemporaryFileSamplerMixin:
self.temporary_outputfiles_basename = temporary_outputfiles_basename
if os.path.exists(self.outputfiles_basename):
distutils.dir_util.copy_tree(
self.outputfiles_basename, self.temporary_outputfiles_basename
shutil.copytree(
self.outputfiles_basename,
self.temporary_outputfiles_basename,
dirs_exist_ok=True,
)
check_directory_exists_and_if_not_mkdir(temporary_outputfiles_basename)
......
import os
import shutil
from collections import namedtuple
from distutils.version import LooseVersion
from shutil import copyfile
import numpy as np
from packaging import version
from pandas import DataFrame
from ..utils import check_directory_exists_and_if_not_mkdir, logger, safe_file_dump
......@@ -79,12 +79,7 @@ class Emcee(MCMCSampler):
burn_in_act=3,
**kwargs,
):
import emcee
if LooseVersion(emcee.__version__) > LooseVersion("2.2.1"):
self.prerelease = True
else:
self.prerelease = False
self._check_version()
super(Emcee, self).__init__(
likelihood=likelihood,
priors=priors,
......@@ -95,7 +90,6 @@ class Emcee(MCMCSampler):
skip_import_verification=skip_import_verification,
**kwargs,
)
self._check_version()
self.resume = resume
self.pos0 = pos0
self.nburn = nburn
......@@ -106,11 +100,10 @@ class Emcee(MCMCSampler):
def _check_version(self):
import emcee
if LooseVersion(emcee.__version__) > LooseVersion("2.2.1"):
self.prerelease = True
else:
if version.parse(emcee.__version__) < version.parse("3"):
self.prerelease = False
return emcee
else:
self.prerelease = True
def _translate_kwargs(self, kwargs):
kwargs = super()._translate_kwargs(kwargs)
......
from distutils.version import StrictVersion
import numpy as np
from ...gw.likelihood import BasicGravitationalWaveTransient, GravitationalWaveTransient
......@@ -631,23 +629,13 @@ class Pymc(MCMCSampler):
self.kwargs["step"] = pymc.__dict__[step_methods[curmethod]](
**args
)
else:
# re-add step_kwargs if no step methods are set
if len(step_kwargs) > 0 and StrictVersion(
pymc.__version__
) < StrictVersion("3.7"):
self.kwargs["step_kwargs"] = step_kwargs
# check whether only NUTS step method has been assigned
if np.all([sm.lower() == "nuts" for sm in methodslist]):
# in this case we can let PyMC autoinitialise NUTS, so remove the step methods and re-add nuts_kwargs
self.kwargs["step"] = None
if len(nuts_kwargs) > 0 and StrictVersion(pymc.__version__) < StrictVersion(
"3.7"
):
self.kwargs["nuts_kwargs"] = nuts_kwargs
elif len(nuts_kwargs) > 0:
if len(nuts_kwargs) > 0:
# add NUTS kwargs to standard kwargs
self.kwargs.update(nuts_kwargs)
......@@ -707,10 +695,6 @@ class Pymc(MCMCSampler):
args = {}
return args, nuts_kwargs
def _pymc_version(self):
pymc, _, _ = self._import_external_sampler()
return pymc.__version__
def set_prior(self):
"""
Set the PyMC prior distributions.
......
import functools
import os
from distutils.spawn import find_executable
import shutil
from .log import logger
......@@ -53,7 +53,7 @@ def latex_plot_format(func):
_old_tex = rcParams["text.usetex"]
_old_serif = rcParams["font.serif"]
_old_family = rcParams["font.family"]
if find_executable("latex"):
if shutil.which("latex"):
rcParams["text.usetex"] = True
else:
rcParams["text.usetex"] = False
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment