CPU: Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz (4 CPUs), ~2.3GHz
RAM: 8192 MB
GFX: ATI Radeon (TM) HD 6490M
OS: Windows 7 Home Premium x63
Blender: 2.65a, 2.66, 2.66a, 2.67
Blender crashes on start-up if Python 2.7.4 is installed on Windows 7 Home Premium x64 in the default install location and the following environment variables are added to the system:
Variable name: Path
Variable value: [...];C:\Python27
Variable name: PythonPath
Variable value: C:\PYTHON27;C:\PYTHON27\DLLs;C:\PYTHON27\LIB;C:\PYTHON27\LIB\LIB-TK
Blender should probably not use the environment variable for python if it exists and instead use a path that it defines itself.
Detailed AppCrash Info:
Problem signature:
Problem Event Name: APPCRASH
Application Name: blender.exe
Application Version: 2.6.7.0
Application Timestamp: 51893be3
Fault Module Name: python33.dll
Fault Module Version: 3.3.150.1013
Fault Module Timestamp: 50b3389c
Exception Code: 40000015
Exception Offset: 000000000015796a
OS Version: 6.1.7601.2.1.0.768.3
Locale ID: 1033
Additional Information 1: 7909
Additional Information 2: 79092b5ec77af11e27b582d7007be563
Additional Information 3: 892a
Additional Information 4: 892a6be8e08e3ef80919d8ac380249ba
Description
Event Timeline
Using the python environment variable use useful for people with their own python installations.
We are aware of the problem but this is an issue with python initialization and our of our control.
For now my take on the matter is - if you set PYTHONPATH, your a developer who knows what you do.
closing.
I think we have a little bit of a misunderstanding. I understand that the environment variables are useful for people who use their own python installations. The issue stems from the fact that Blender uses Python 3.x which is not backwards compatible with Python 2.x. If a user doesn't have Python installed and the environment variables set then Blender uses its own Python version. The thing I'm getting at here is that Blender should ignore the path in the environment variable for its Python version to use if the path in the environment variable has a different major version from what Blender what compiled using and it should use its own version. This is again because major Python versions are not backwards compatible with each other, so since I have an environment variable set on my system to a Python 2.x release and Blender needs a Python 3.x release it crashes on start-up. I'm fairly certain there is a way to choose what version of Python to use regardless of if the path is set in an environment variable. I guess worse case I will have to look into it at the end of June when I have some free time. That's the beauty of open source projects. :)
@Clint, yep - I see what you mean, but in fact the issue is more complicated - since its possible to have python3 versions that are incompatible (PYTHONPATH pointing to python3.2 would give similar problem).
See:
http://bugs.python.org/issue2375