summaryrefslogtreecommitdiff
path: root/_posts/2012-10-31-virtualenv-and-checkouts.textile
diff options
context:
space:
mode:
authorFranck Cuny <franck.cuny@gmail.com>2013-10-13 17:39:16 -0700
committerFranck Cuny <franck.cuny@gmail.com>2013-10-13 17:39:16 -0700
commit8f56b20a63ab6360c7d84a62a5ae6a66e55216c8 (patch)
tree48eb4c1c1dabea626edb00a90bb8262b7a1d4baa /_posts/2012-10-31-virtualenv-and-checkouts.textile
parentRename some file (diff)
downloadlumberjaph-8f56b20a63ab6360c7d84a62a5ae6a66e55216c8.tar.gz
Convert an article to markdown.
Diffstat (limited to '_posts/2012-10-31-virtualenv-and-checkouts.textile')
-rw-r--r--_posts/2012-10-31-virtualenv-and-checkouts.textile33
1 files changed, 0 insertions, 33 deletions
diff --git a/_posts/2012-10-31-virtualenv-and-checkouts.textile b/_posts/2012-10-31-virtualenv-and-checkouts.textile
deleted file mode 100644
index ddc91b6..0000000
--- a/_posts/2012-10-31-virtualenv-and-checkouts.textile
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: post
-category: python
-title: Virtualenv and checkouts
----
-
-I've started to do some Clojure in my spare time. The default tool adopted by the community to manage projects is "leiningen":http://leiningen.org. For those of you who don't know what @lein@ is, it's a tool to automate your Clojure project: it will boostrap a new project, install the dependencies, and there's a plugin mechanism to extend the default possibilities of the tool.
-
-One of the nice feature of the tool is the *checkouts/* directory. From the "FAQ":https://github.com/technomancy/leiningen/blob/preview/doc/FAQ.md :
-
-bq. If you create a directory named checkouts in your project root and symlink some other project roots into it, Leiningen will allow you to hack on them in parallel.
-
-For Python projects at "$work":http://www.saymedia.com/careers I use "virtualenvwrapper":http://virtualenvwrapper.readthedocs.org/en/latest/ to easily work on them without having to deal with conflicting dependencies. When I need to change a library that is used by one of the project, usually I go to the virtualenv directory and create a symlink so it uses the one I'm editing.
-
-What I really want is a mechanism similar to @lein@, where I can have a *checkouts/* directory inside the main project, where I can clone a library or create a symlink. Since @virtualenvwrapper@ provides a hook mechanism, I wrote a small hook inside @~/.virtualenvs/postactivate@:
-
-{% highlight bash %}
-#!/bin/bash
-
-# move to the directory of the project
-proj_name=$(echo $VIRTUAL_ENV|awk -F'/' '{print $NF}')
-proj_path=/home/vagrant/src/$proj_name
-
-cd $proj_path
-
-if [ -d checkouts ]; then
- for ext in $(ls checkouts); do
- export PYTHONPATH=proj_path/checkouts/$ext:$PYTHONPATH
- done
-fi
-{% endhighlight %}
-
-Then, when I type @workon $project_name@ in my shell, the environment is activated, I'm moved to the right directory, and the library inside the *checkouts/* directory are added to my @PYTHONPATH@.