Skip to content

Instantly share code, notes, and snippets.

View ulgens's full-sized avatar
⚙️
In Progress

Ülgen Sarıkavak ulgens

⚙️
In Progress
View GitHub Profile
@ulgens
ulgens / gist:3f4a5e33d6bbf414a2e6ac18c6f4ee2f
Created January 21, 2017 20:15 — forked from datagrok/gist:2199506
Virtualenv's `bin/activate` is Doing It Wrong

Virtualenv's bin/activate is Doing It Wrong

I'm a Python programmer and frequently work with the excellent [virtualenv][] tool by Ian Bicking.

Virtualenv is a great tool on the whole but there is one glaring problem: the activate script that virtualenv provides as a convenience to enable its functionality requires you to source it with your shell to invoke it. The activate script sets some environment variables in your current environment and defines for you a deactivate shell function which will (attempt to) help you to undo those changes later.

This pattern is abhorrently wrong and un-unix-y. activate should instead do what ssh-agent does, and launch a sub-shell or sub-command with a modified environment.

Problems