[SOLVED] Install broken?

I’m running Blender 3.3 on Windows 10 and am trying to install Armory, but I don’t think it’s working.

I downloaded and unpacked 2209 Armory SDK to my D drive. After starting Blender in admin mode, I used the preferences window to install the Armory add-on from the unpacked files. I then restarted Blender with an official tutorial .blend file, but I don’t see any Armory options in the Blender window.

How can I fix this?

EDIT: I get the following error when opening the console:

Hi. Please update to the latest armsdk 2022.10 to see if that helps. Thanks.

Hi, please check your path environment variable on windows. The last lines of the error message look like some local Python/Anaconda installation is used instead of Blender’s Python version. It doesn’t really look like an Armory issue to me.

@rpaladin Thanks! Once I get the chance, I’ll update to armsdk 2022.10, but I doubt it will fix it.

@timodriaan Do you know how I can force it to use Blender’s Python version? Here’s my sys path on Blender (Notice the Blender DLL location IS on the path, so idk what’s going wrong):

Capture

Importing ctypes on my local Python works without issue

The problem could be that Anaconda is above most of the Blender Python entries in the path… I’m not sure whether the same is true for the return value of sys.path, but usually paths at the top have higher precedence for the system. So in this case, Anaconda would have a higher precedence than Blender’s version of Python.

I’m not sure whether I remember this correctly, but I believe that I read a while ago that Blender adds all its Python directories to the processes’ path variable when starting. Do you have another addon installed that uses Anaconda and may interfere?

Also, what happens if you execute import ctypes in Blender’s own Python shell? What is the output if you execute the following:

import os
print(os.environ['PYTHONPATH'])

?

I don’t have any other significant add-ons.

When importing ctypes in Blender:

Capture

Also:

Capture

Very naive questions (you probably would have mentioned it already, but let me ask them anyway):

  • Do you use any symlinks related to Anaconda or Blender’s Python?
  • Is the Blender link/shortcut/however this is called in English to the Blender.exe modified to start Blender with some parameters that may cause this change in the PYTHONPATH variable? Or do you run Blender from a batch script that does other modifications? Does Anaconda somehow mess with the way arbitrary programs are started?

Otherwise I’m afraid I’m out of ideas… If nothing seems to work, maybe try to reinstall Anaconda or try whether using Armory in a portable/different Blender installation works. Perhaps there are more people on BlenderArtists or even the Blender Devtalk that can help you with this issue :slight_smile:

Two links I found that may help you find the cause, even if they describe the other way around:

@rpaladin Updating the SDK did not fix, do you have any other ideas?

For what it’s worth, Blender is using Python 3.10.2 and I use 3.9.12 locally.

This is so ridiculous…

Update, when I insert Blender’s DLL path into the first index of the sys path, the error goes away. HOWEVER, I don’t know how to implement this fix when Blender start’s up and loads Armory3D - Any ideas? I already set my system path and python path variables to start with this particular DLL path, but it doesn’t work. Why is installing this software so hard?

Capture

Ok, another update. I realized Blender has startup scripts, so I added a 2-line script with the following contents:

import sys
sys.path.insert(0, r'C:\Program Files\Blender Foundation\Blender 3.3\3.3\python\DLLs')

I don’t get an error on ctypes, but numpy screams at me now:

Traceback (most recent call last):
File “C:\Users\ltber\Anaconda3\Lib\site-packages\numpy\core_init_.py”, line 22, in
from . import multiarray
File “C:\Users\ltber\Anaconda3\Lib\site-packages\numpy\core\multiarray.py”, line 12, in
from . import overrides
File “C:\Users\ltber\Anaconda3\Lib\site-packages\numpy\core\overrides.py”, line 7, in
from numpy.core._multiarray_umath import (
ModuleNotFoundError: No module named ‘numpy.core._multiarray_umath’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:\Users\ltber\AppData\Roaming\Blender Foundation\Blender\3.3\scripts\addons\armory.py”, line 793, in on_load_post
restart_armory(bpy.context) # context is None, use bpy.context instead
File “C:\Users\ltber\AppData\Roaming\Blender Foundation\Blender\3.3\scripts\addons\armory.py”, line 788, in restart_armory
start_armory(sdk_path)
File “C:\Users\ltber\AppData\Roaming\Blender Foundation\Blender\3.3\scripts\addons\armory.py”, line 746, in start_armory
import start
File “D:\ArmorySDK2210\armsdk/armory\blender\start.py”, line 5, in
import arm.nodes_logic
File “D:\ArmorySDK2210\armsdk/armory\blender\arm\nodes_logic.py”, line 7, in
import arm.logicnode.arm_nodes as arm_nodes
File “D:\ArmorySDK2210\armsdk/armory\blender\arm\logicnode_init_.py”, line 7, in
import arm.logicnode.arm_nodes as arm_nodes
File “D:\ArmorySDK2210\armsdk/armory\blender\arm\logicnode\arm_nodes.py”, line 10, in
from arm.logicnode.arm_sockets import ArmCustomSocket
File “D:\ArmorySDK2210\armsdk/armory\blender\arm\logicnode\arm_sockets.py”, line 9, in
import arm.node_utils
File “D:\ArmorySDK2210\armsdk/armory\blender\arm\node_utils.py”, line 11, in
import arm.utils
File “D:\ArmorySDK2210\armsdk/armory\blender\arm\utils.py”, line 15, in
import numpy as np
File “C:\Users\ltber\Anaconda3\Lib\site-packages\numpy_init_.py”, line 150, in
from . import core
File “C:\Users\ltber\Anaconda3\Lib\site-packages\numpy\core_init_.py”, line 48, in
raise ImportError(msg)
ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.

We have compiled some common reasons and troubleshooting tips at:

https://numpy.org/devdocs/user/troubleshooting-importerror.html

Please note and check the following:

  • The Python version is: Python3.10 from “C:\Program Files\Blender Foundation\Blender 3.3\3.3\python\bin\python.EXE”
  • The NumPy version is: “1.21.6”

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

Original error was: No module named ‘numpy.core._multiarray_umath’

Traceback (most recent call last):
File “C:\Users\ltber\Anaconda3\Lib\site-packages\numpy\core_init_.py”, line 22, in
from . import multiarray
File “C:\Users\ltber\Anaconda3\Lib\site-packages\numpy\core\multiarray.py”, line 12, in
from . import overrides
File “C:\Users\ltber\Anaconda3\Lib\site-packages\numpy\core\overrides.py”, line 7, in
from numpy.core._multiarray_umath import (
ModuleNotFoundError: No module named ‘numpy.core._multiarray_umath’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:\Users\ltber\AppData\Roaming\Blender Foundation\Blender\3.3\scripts\addons\armory.py”, line 798, in on_register_post
restart_armory(bpy.context)
File “C:\Users\ltber\AppData\Roaming\Blender Foundation\Blender\3.3\scripts\addons\armory.py”, line 788, in restart_armory
start_armory(sdk_path)
File “C:\Users\ltber\AppData\Roaming\Blender Foundation\Blender\3.3\scripts\addons\armory.py”, line 746, in start_armory
import start
File “D:\ArmorySDK2210\armsdk/armory\blender\start.py”, line 5, in
import arm.nodes_logic
File “D:\ArmorySDK2210\armsdk/armory\blender\arm\nodes_logic.py”, line 7, in
import arm.logicnode.arm_nodes as arm_nodes
File “D:\ArmorySDK2210\armsdk/armory\blender\arm\logicnode_init_.py”, line 7, in
import arm.logicnode.arm_nodes as arm_nodes
File “D:\ArmorySDK2210\armsdk/armory\blender\arm\logicnode\arm_nodes.py”, line 10, in
from arm.logicnode.arm_sockets import ArmCustomSocket
File “D:\ArmorySDK2210\armsdk/armory\blender\arm\logicnode\arm_sockets.py”, line 9, in
import arm.node_utils
File “D:\ArmorySDK2210\armsdk/armory\blender\arm\node_utils.py”, line 11, in
import arm.utils
File “D:\ArmorySDK2210\armsdk/armory\blender\arm\utils.py”, line 15, in
import numpy as np
File “C:\Users\ltber\Anaconda3\Lib\site-packages\numpy_init_.py”, line 150, in
from . import core
File “C:\Users\ltber\Anaconda3\Lib\site-packages\numpy\core_init_.py”, line 48, in
raise ImportError(msg)
ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.

It’s probably not enough to only add the DLL path, I think you also need the [...]/python/lib path

I ended up making 2 sets of "PYTHONPATH"s and activate one when I do normal Python coding and the other when I use Blender. Super frustrating, but now it works.

1 Like