[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] Mac Observations




On Feb 1, 2006, at 10:53 AM, Kamilche wrote:

Bob Ippolito wrote:

> There is a pygame installer at http://pythonmac.org/packages/
>
> You will need PyObjC, and you may also want PIL, PyOpenGL, and
> Numeric.  PyOpenGL might need numarray, I don't recall.
>

I DID get it running, but boy, is it a pain to install on Macintosh machines! I needed the developer tools from Apple to compile from source, but my Mac had been updated to 10.4, and the 10.3 tools weren't compatible. I would have had to download over 800 megs to get the latest tools! I tried and failed, but it was soon a moot point because the Mac blue screened and wouldn't even boot. I decided then to reformat it.

The installation DVD for Mac OS X 10.4 has the developer tools on it. I don't know what you did to cause the booting issue, but I've certainly never seen that happen.


So, I reinstalled 10.3 from the DVD, and didn't update it. I also installed the Apple developer tools, so I could install Python 2.4.2 from source. But it failed - I had to do a 'framework install' to get it to run. Then, it ran, but typing 'python' in Terminal still brought up the old version. That's apparently a known issue in Mac Python. What was more serious, is I had no PythonIDE for the new version. The PythonIDE was still using the old Python 2.3 binary, instead.

It helps to know your way around a unix shell. This is not a Python issue, it's an issue with your PATH environment variable. Even in Windows, you can't type "python" at the cmd prompt and expect it to do something unless you have PATH set properly to include the location of the python executable you want to run.


So, I found a binary package installer for Mac OSX Python 2.4.1, which was faintly older than the 2.4.2 I was aiming for, but closer than 2.3. After installing that, there were weird bugs where I would go to click on an icon, and it would disappear out from under me. One folder, the 'bin' folder, had every icon disappear! But I was able to run PythonIDE with a version of 2.4.1, so all was well despite the interface weirdness.

ActiveState has a Python 2.4.2 distribution. There weren't any big changes between 2.4.1 and 2.4.2, so it doesn't matter much either way. As for the icons, I'm not even sure what you mean by the way you describe it... but it sounds unrelated.


I really wanted to use Python 2.4.2 though, because I need to use the PYC files and don't want 'bad magic number' error to pop up. (Does that happen between major versions only, or minor versions as well?) So, I reinstalled 2.4.2 from source, and finally got what I wanted - a Python IDE that runs scripts with Python 2.4.2.

Magic numbers change with every minor release.. but the versioning scheme is major.minor.micro -- I think you've confused that as 2.major.minor :)


By comparison, all the supporting packages including Pygame were easy - I just installed them from the binaries, and they worked right off the bat.

Installing Python from binary packages is just as easy, had you taken that approach without flailing around so much.


Full screen mode does not work on Windows, so I did a workaround by recreating the background buffer when full screen mode is requested. This worked well, both on the Windows and Mac platform, so that was good.

The pictures on the Mac were very washed out looking. I knew there were differences between platforms - I'll just tell Mac users to adjust their gamma, because the pictures are going to be optimized for the Windows platform.

I believe SDL has a gamma adjustment function. You could expose that in your UI. Not sure where it lives in pygame, though.


I have a concern about packages on Linux/Mac in general. I didn't know simple things like an OS version bump from 10.3 to 10.4 could cause tools to break. That's really unhandy for me AND users of the OS, in general. I want to market this game to Linux/Mac users, but not if it requires me to provide system and installation support on such a complex platform.

You've got users and developers confused here. Yes, the development tools must be updated with every OS update, but otherwise properly written applications don't need to be updated. When distributing the software to your users, it should be a self-contained application bundle which has no installation process at all.


-bob