X-Plane / XPlane2Blender

Scenery & Aircraft export addon for Blender and X-Plane
GNU General Public License v3.0
190 stars 67 forks source link

run.py and tests.py replace rather than update environment #710

Open ian-m-carr opened 1 year ago

ian-m-carr commented 1 year ago

As far as I can see the line in run.py and tests.py which reads: enviro={"BLENDER_USER_SCRIPTS": os.path.dirname(os.path.realpath(__file__))} creates a new environment with a single variable in it.

in my case blender then fails to load with:

blender --addons io_xplane2blender --factory-startup --
found bundled python: D:\tools\blender-2.83.20-windows-x64\2.83\python
Fatal Python error: _Py_HashRandomization_Init: failed to get random numbers to initialize Python

replacing this line in both file with:

enviro = os.environ.copy()
enviro["BLENDER_USER_SCRIPTS"] = os.path.dirname(os.path.realpath(__file__))

Copies the existing environment and appends the variable to it.

In my case this then allows blender to run and the unit tests to begin executing

bsupnik commented 1 year ago

Hi -- that looks like a sane fix - do you already have a patch I can take as a pull request?

ian-m-carr commented 1 year ago

I can see what I can come up with, currently on my feat_importer branch: run.py and tests.py re-use existing evironment vars and can now successfully run blender on my Windows setup: be25a64e690ed09c2eb3b2f114c56811be6d6e11

Patch attached

patch.diff.txt