Giter Club home page Giter Club logo

Comments (2)

pelson avatar pelson commented on August 11, 2024 1

I would really have appreciated this just now. I ended up needing to deploy a specific tag to a specific location, and had to write the following code to do it (unabridged, and untidy):

import os
import shutil

import conda


def conda_pkg_cache(target):
    import conda.install
    orig_package_cache_ = conda.install.package_cache_
    pkg_cache = os.path.join(target, '.pkg_cache')
    try:
        # Support conda=4.1.*
        orig_pkgs_dirs = conda.install.pkgs_dirs
        conda.install.pkgs_dirs = [pkg_cache]
    except AttributeError:
        # Support conda>4.1
        @property
        def mocker(self):
            return [pkg_cache]
        import conda.base.context
        orig_pkgs_dirs = conda.base.context.Context.pkgs_dirs
        # Monkey patch the context instance property.
        conda.base.context.Context.pkgs_dirs = mocker

    # Empty package cache so that it will reinitialised.
    conda.install.package_cache_ = {}

    return pkg_cache


from git import Repo

repo_url = 'ssh://[email protected]'
repo_target = '/a/directory'
if os.path.exists(repo_target):
    shutil.rmtree(repo_target)

repo = Repo.clone_from(repo_url, repo_target)
target = '/a/directory'
tag = 'env-default-2017_05_19'

import conda_gitenv.deploy as deploy
pkg_cache = conda_pkg_cache(target)
deploy.deploy_tag(repo, tag, target, pkg_cache)

from conda-gitenv.

pelson avatar pelson commented on August 11, 2024

cc @corinnebosley for pairing with me 👍

from conda-gitenv.

Related Issues (15)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.