Hacker News new | ask | show | jobs
by kevinburke 5345 days ago
Nice post. I did some user tests on Friday with beginning Python developers and found they were completely mystified by the pip install process.

I feel like adding virtualenv on top is the right approach, in the long run, but for the beginning developer it might be better just to install plain pip while he is struggling to figure out how to get packages installed, and then later figure out how to do virtualenv.

Almost everyone's first experience with pip is in the context of another task, like trying to use the twilio-python library (the use case I was testing Friday). In that context they're not looking to learn how to use pip correctly (or learn why they need virtualenv) but trying to do something like send a text message or run Flask or whatever.

1 comments

Adding virtualenv is definitely one more layer of complexity, however installing everything to site-packages is asking for a lot of trouble to new users that don't understand whats going on. As soon as they have multiple versions of a library from different projects they will be an a world of hurt that they're unaware of how to untangle themselves. Starting with virtualenv from the beginning really will help prevent a lot of headache later.

If you're using Flask now and use it later and have two various versions you essentially get 1 working application and 1 broken one due to versions.