GithubHelp home page GithubHelp logo

sinistamunkey / auto-virtualenv Goto Github PK

View Code? Open in Web Editor NEW

This project forked from marcwebbie/auto-virtualenv

0.0 0.0 0.0 34 KB

Automatically activate python virtualenv on Emacs

Home Page: https://github.com/marcwebbie/auto-virtualenv

License: GNU General Public License v3.0

Emacs Lisp 100.00%

auto-virtualenv's Introduction

auto-virtualenv

Automatically activate python virtualenvs on emacs based on project name or .python-version file.

Installation

MELPA

auto-virtualenv is available on MELPA.

You can install auto-virtualenv with the following command.

M-x package-install [RET] auto-virtualenv [RET]

Manual

Clone this repository somewhere and add this directory to you load-path.

Configuration

(require 'auto-virtualenv)
(add-hook 'python-mode-hook 'auto-virtualenv-set-virtualenv)

Optionally:

;; Activate on changing buffers
(add-hook 'window-configuration-change-hook 'auto-virtualenv-set-virtualenv)
;; Activate on focus in
(add-hook 'focus-in-hook 'auto-virtualenv-set-virtualenv)

With use-package

(use-package auto-virtualenv
  :ensure t
  :init
  (use-package pyvenv
    :ensure t)
  :config
  (add-hook 'python-mode-hook 'auto-virtualenv-set-virtualenv)
  (add-hook 'projectile-after-switch-project-hook 'auto-virtualenv-set-virtualenv)  ;; If using projectile
  )

How it works

On auto-virtualenv-set-virtualenv, the hierarchy is scanned for a special file, which is part of the list auto-virtualenv-project-root-files. The list contains files which indicate a project root, like a .git directory or a .dir-locals.el file.

In order, files and paths to check for virtualenv to activate:

    1. Try path set from auto-virtualenv-custom-virtualenv-path variable
    1. Try path from .auto-virtualenv-version file if it exists or
    1. Try name from .python-version file if it exists or
    1. Try .venv or .virtualenv or venv dir in the root of project
    1. Try finding a virtualenv with the same name as Project in virtualenv dirs set in auto-virtualenv-dir.

The found environment is finally activated using pyvenv-activate.

License

GNU GPL v3.0

View official GNU site http://www.gnu.org/licenses/gpl.html.

auto-virtualenv's People

Contributors

0x17de avatar bcfurtado avatar linusp avatar marcwebbie avatar ryanprior avatar syohex avatar

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.