update conda used for freezing and remove workaround for conda-export bug

Bug is fixed in conda 4.4
pull/208/head
Min RK 2018-02-01 13:35:12 +01:00
rodzic 26dac5cc9b
commit 6dccbbe68b
1 zmienionych plików z 3 dodań i 29 usunięć

Wyświetl plik

@ -15,6 +15,8 @@ from ruamel.yaml import YAML
MINICONDA_VERSION = '4.3.27'
# need conda ≥ 4.4 to avoid bug adding spurious pip dependencies
CONDA_VERSION = '4.4.8'
HERE = pathlib.Path(os.path.dirname(os.path.abspath(__file__)))
@ -27,34 +29,6 @@ FROZEN_FILE_T = os.path.splitext(ENV_FILE_T)[0] + '.frozen.yml'
yaml = YAML(typ='rt')
def fixup(frozen_file):
"""Fixup a frozen environment file
Conda export has a bug!
https://github.com/conda/conda/pull/6391
"""
with open(frozen_file) as f:
env = yaml.load(f)
# scrub spurious pip dependencies
# due to conda #6391
# note: this scrubs *all* pip dependencies,
# so be more careful if we ever *want* conda to call
# out to pip.
pip_found = False
for idx, dep in enumerate(env['dependencies']):
if isinstance(dep, dict) and 'pip' in dep:
pip_found = True
break
if pip_found:
env['dependencies'].pop(idx)
with open(frozen_file, 'w') as f:
yaml.dump(env, f)
def freeze(env_file, frozen_file):
"""Freeze a conda environment.yml
@ -79,6 +53,7 @@ def freeze(env_file, frozen_file):
f"continuumio/miniconda3:{MINICONDA_VERSION}",
"sh", "-c",
'; '.join([
f"conda install -yq conda={CONDA_VERSION}",
'conda config --add channels conda-forge',
'conda config --system --set auto_update_conda false',
f"conda env create -v -f /r2d/{env_file} -n r2d",
@ -88,7 +63,6 @@ def freeze(env_file, frozen_file):
f"conda env export -n r2d >> /r2d/{frozen_file}",
])
])
fixup(HERE / frozen_file)
def set_python(py_env_file, py):