kopia lustrzana https://github.com/jupyterhub/repo2docker
Merge b650d28849
into 176674867e
commit
3f765c686b
|
@ -1,5 +1,6 @@
|
||||||
import datetime
|
import datetime
|
||||||
import os
|
import os
|
||||||
|
import re
|
||||||
import warnings
|
import warnings
|
||||||
from functools import lru_cache
|
from functools import lru_cache
|
||||||
|
|
||||||
|
@ -77,17 +78,31 @@ class RBuildPack(PythonBuildPack):
|
||||||
|
|
||||||
if not hasattr(self, "_r_version"):
|
if not hasattr(self, "_r_version"):
|
||||||
_, version, date = self.runtime
|
_, version, date = self.runtime
|
||||||
# If runtime.txt is not set, or if it isn't of the form r-<version>-<yyyy>-<mm>-<dd>,
|
# If runtime.txt is not set, or if it isn't of the form r-<version>-*,
|
||||||
# we don't use any of it in determining r version and just use the default
|
# we don't use any of it in determining r version and just use the default
|
||||||
if version and date:
|
if version:
|
||||||
r_version = version
|
r_version = version
|
||||||
# For versions of form x.y, we want to explicitly provide x.y.z - latest patchlevel
|
# For versions of form x.y, we want to explicitly provide x.y.z - latest patchlevel
|
||||||
# available. Users can however explicitly specify the full version to get something specific
|
# available. Users can however explicitly specify the full version to get something specific
|
||||||
if r_version in version_map:
|
if r_version in version_map:
|
||||||
r_version = version_map[r_version]
|
r_version = version_map[r_version]
|
||||||
elif len(r_version.split(".")) == 2:
|
else:
|
||||||
# must have x.y.z version, add .0 for unrecognized (future) R versions
|
r_version_parts = r_version.split(".")
|
||||||
r_version += ".0"
|
if len(r_version_parts) == 3:
|
||||||
|
self.log.info(
|
||||||
|
f"Using R full version, {r_version}, provided by user."
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
# repo2docker fails earlier with a meaningful message to the user.
|
||||||
|
# If repo2docker doesn't fail here, repo2docker might fail later
|
||||||
|
# without a meaningful message to the user.
|
||||||
|
raise RuntimeError(
|
||||||
|
f"R version {r_version} is not supported. Please open an issue at https://github.com/jupyterhub/repo2docker/issues/new/choose.",
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
self.log.warning(
|
||||||
|
f"R version unspecified, using default R version {r_version}. You can specify the R version in runtime.txt."
|
||||||
|
)
|
||||||
|
|
||||||
# translate to the full version string
|
# translate to the full version string
|
||||||
self._r_version = r_version
|
self._r_version = r_version
|
||||||
|
|
Ładowanie…
Reference in New Issue