Slide 1

Slide 1 text

Doug Hellmann PyATL 8 April 2010 Better Development Workflows with virtualenvwrapper Tuesday, September 27, 2011

Slide 2

Slide 2 text

In the beginning... • Install Python • Install dependencies • Write software • Package • Release • Get rich! Tuesday, September 27, 2011

Slide 3

Slide 3 text

...and then • New project! • Upgrade dependencies • Write software • Package • Release • Get richer! Tuesday, September 27, 2011

Slide 4

Slide 4 text

But... • A Bug in Project 1! • Project 1 no longer runs!! • Conflict!!! Tuesday, September 27, 2011

Slide 5

Slide 5 text

What’s a Developer to Do? Don’t panic! Tuesday, September 27, 2011

Slide 6

Slide 6 text

Downgrade? Error prone. Tuesday, September 27, 2011

Slide 7

Slide 7 text

Buy another Computer? Pricy Tuesday, September 27, 2011

Slide 8

Slide 8 text

Use a Virtual Machine? Overkill Tuesday, September 27, 2011

Slide 9

Slide 9 text

virtualenv Just right! Tuesday, September 27, 2011

Slide 10

Slide 10 text

Benefits of virtualenv Simplicity Tuesday, September 27, 2011

Slide 11

Slide 11 text

Benefits of virtualenv Compatibility Tuesday, September 27, 2011

Slide 12

Slide 12 text

Benefits of virtualenv Be yourself Tuesday, September 27, 2011

Slide 13

Slide 13 text

Benefits of virtualenv Make as many as you want Tuesday, September 27, 2011

Slide 14

Slide 14 text

Benefits of virtualenv Isolation Tuesday, September 27, 2011

Slide 15

Slide 15 text

Demonstration: virtualenv Tuesday, September 27, 2011

Slide 16

Slide 16 text

Messy Shortcomings of virtualenv Tuesday, September 27, 2011

Slide 17

Slide 17 text

Still manual Shortcomings of virtualenv Tuesday, September 27, 2011

Slide 18

Slide 18 text

virtualenvwrapper Add another layer Tuesday, September 27, 2011

Slide 19

Slide 19 text

Organization Benefits of virtualenvwrapper Tuesday, September 27, 2011

Slide 20

Slide 20 text

Automation Benefits of virtualenvwrapper Tuesday, September 27, 2011

Slide 21

Slide 21 text

Demonstration: virtualenvwrapper Tuesday, September 27, 2011

Slide 22

Slide 22 text

Favorite Features "My favorite thing about using virtualenvwrapper is how it attracts the babes.” - Danny Greenfeld “After just the general organizational nirvana that can be reached w/ the core stuff, the hooks are the best.” - Paul McLanahan Tuesday, September 27, 2011

Slide 23

Slide 23 text

Automation Hooks • create • activate • deactivate • delete Tuesday, September 27, 2011

Slide 24

Slide 24 text

post-create Initialize Tuesday, September 27, 2011

Slide 25

Slide 25 text

Switch working configuration post-activate Tuesday, September 27, 2011

Slide 26

Slide 26 text

Demonstration: Hooks Tuesday, September 27, 2011

Slide 27

Slide 27 text

References • Ian Bicking’s virtualenv • http://pypi.python.org/pypi/virtualenv • virtualenvwrapper • http://www.doughellmann.com/projects/virtualenvwrapper/ Tuesday, September 27, 2011