Пример #1
0
def test_pip_merge():
    pip_list = [
        "package>=1.1,==1.4", "package2", "package2>=1.5",
        "package>=1.1,==1.4,==1.5", "package5"
    ]
    assert normalize_pip(pip_list) == [
        'package>=1.1,==1.4,==1.5', 'package2>=1.5', 'package5'
    ]
Пример #2
0
    def normalized(self):
        """Normalize the list of dependencies
        """
        channels, packages = self._get_channels_packages()
        if isinstance(packages, related.types.TypedSequence):
            packages = packages.list
        if isinstance(channels, related.types.TypedSequence):
            channels = channels.list

        return Dependencies(conda=packages,
                            pip=kconda.normalize_pip(list(self.pip)),
                            conda_channels=channels)
Пример #3
0
    def to_env_dict(self, env_name):
        deps = self.normalized()
        channels, packages = deps._get_channels_packages()
        if isinstance(packages, related.types.TypedSequence):
            packages = packages.list
        if isinstance(channels, related.types.TypedSequence):
            channels = channels.list

        env_dict = OrderedDict(
            name=env_name,
            channels=channels,
            dependencies=packages +
            [OrderedDict(pip=kconda.normalize_pip(deps.pip))])
        return env_dict
Пример #4
0
    def merge(self, dependencies):
        """Merge one dependencies with another one

        Use case: merging the dependencies of model and dataloader

        Args:
          dependencies: Dependencies instance

        Returns:
          new Dependencies instance
        """
        return Dependencies(
            conda=unique_list(list(self.conda) + list(dependencies.conda)),
            pip=kconda.normalize_pip(list(self.pip) + list(dependencies.pip)),
            conda_channels=unique_list(
                list(self.conda_channels) + list(dependencies.conda_channels)))