Do you support pip for the installation of Python modules?

Yes, we sure do. But you will have to pass the --user flag in order to do a local install for it to work. So a full command would look like

pip install --user pwhich

pwhich is a little utility that harry (another PythonAnywhere dev) wrote to tell you where a particular python function actually lives on the filesystem. Handy :-)

I thought PythonAnyWhere made use of virtualenv, and the environment is entered when you open a bash shell or run a Python script.

Why did you choose to do it this way, instead of using virtualenv? Are there any advantages or disadvantages to be aware of?

PythonAnywhere does support virtualenv (you can access it from a bash prompt), but we don't use it by default -- it's a great tool for experienced Pythoneers, but we think it might be a bit confusing for beginners.