See this gist for full output with both pip install and pip install -vvv.
pip install -vvv
When trying to install [armstrong] with pip inside Vagrant via a puppet script, I get a random No module named armstrong. It appears part of the installation is happening but not completing and causing issues. I would normally say this is something in the package, but the package installs fine if I ssh into the Vagrant VM then manually install using pip.
No module named armstrong
Seems like there might be an environment variable missing or some such that a regular session has that the puppet script does not have set.
This is running with the following Ubuntu 11.04 packages installed:
You can view the successful pip install -vvv from an ssh'd session here (warning, it's 1.1mb). I can run vagrant up, have puppet fail, then vagrant ssh and run the command manually and have it succeed.
Tried removing python-setuptools and bootstrapping distribute via distribute_setup.py and still get the error, though it's a KeyError in Distribute since it raises the error slightly differently. I've posted it as a gist here.
Here's the Vagrantfile and manifest I was running this in: armstrong_on_vagrant. FWIW, it's definitely puppet, not Vagrant that's causing the issue. I can SSH into the box and manually run puppet and get the same results.
Sorry, but having this issue open is useless to pip unless it is narrowed down to a reproducible issue in pip. Feel free to reopen if you can track down what puppet is doing differently that causes the problem.
@carljm, this was opened to a specific request of @pnasrat when I brought it up with him.
@tswicegood Ah ok; didn't realize that. Guess it doesn't change my take, though :) Needs more info; if @pnasrat is planning to look into it he can reopen if he can verify that there's a pip big involved.
A bit of backstory for anyone who stumbles upon this and is trying to figure out what is going on. I tracked this down to literally just the difference in executing inside Vagrant's puppet versus inside the shell. The env variables were the same, paths were the same, and so on. As far as I can tell the only difference was that one was executed by puppet and the other by a user. It's in that "it should work" state, but didn't.
I may be coming back to this code here in the next week or so. I'll post again if it started working.