A friend of mine is making the jump from graphic designer to game developer, and I have decided to work with him in my free time. Neither of us have much development experience, but I am very interested in learning Python, and my friend wants to learn C++.
I have read that C++ is the common denominator in game programming, but related questions here on SO recommend that new users avoid more difficult languages like C++. My #1 concern is creating games that are portable between operating systems. I will be using Linux to develop and play-test the game, but we would like it to run on OSX and Windows as well. We have no interest in 3D game development since we don't have any experience with 3D graphics. I would be perfectly happy with graphics equivalent to a game like VVVVVV - very simple 2D with minimal (or zero) texturing.
Also, is it necessary to use OpenGL for 2D graphics, or do C++/Python have some graphics libraries capable of producing game-worthy graphics? Remember, by game-worthy I mean simple, pixelated graphics like Minecraft or VVVVVV.
We have some books on Python, C++, and OpenGL, and can dive into those if that's the right way to get started. What does everyone recommend?
I agree with newlymintedcocoaguy something such as Pygame is the way to go in your situation.  But to awnser your second question, you can make 2D games in C++ without the use of OpenGL/DirectX.  I have done this in the past using the Windows libraries for bitmaps, RECTS etc.  I assume Linux will have similiar functionality.  Though if you want your game to be cross platform then OpenGL is probably the way to go.
2D Game Programming for Linux, OSX, and Windows - C++/Python/OpenGL?