pppalain / blendercam

Automatically exported from code.google.com/p/blendercam
GNU General Public License v3.0
23 stars 11 forks source link

Shapely.lib not found #178

Open ydnatag opened 1 month ago

ydnatag commented 1 month ago

It is really weird bug. When I open blender and install blendercam, it works opening all panels and configurations. But if I close blender and open it again, blendercam is not loaded. Going to add-ons config and re enabling it, I'm getting the following error:

Shapely.lib not found

Regards, A.

Gurgi66 commented 1 month ago

I was on Arch Linux, and i can solve this by simply install the shapely.lib from the repos of my linux system. It was a python library.

pppalain commented 1 month ago

oh on blender 4.2, you need to load through the extensions. we are working to try to get 4.2 compatibility. not easy. image

the last stable blendercam for 4.1 is 1.0.27.

ydnatag commented 1 month ago

I can't enable or install blendercam again in my blender installation. Get Extensions keeps in gray: image

This is in the terminal:

Skipping wheel for other system (macosx_10_9_x86_64 != linux_x86_64): opencamlib-2023.1.11-cp311-cp311-macosx_10_9_x86_64.whl
Skipping wheel for other system (macosx_11_0_arm64 != linux_x86_64): opencamlib-2023.1.11-cp311-cp311-macosx_11_0_arm64.whl
Skipping wheel for other system (manylinux_2_17_aarch64.manylinux2014_aarch64 != linux_x86_64): opencamlib-2023.1.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Skipping wheel for other system (win_amd64 != linux_x86_64): opencamlib-2023.1.11-cp311-cp311-win_amd64.whl
Skipping wheel for other system (win32 != linux_x86_64): opencamlib-2023.1.11-cp311-cp311-win32.whl
Skipping wheel for other system (macosx_10_9_x86_64 != linux_x86_64): shapely-2.0.5-cp311-cp311-macosx_10_9_x86_64.whl
Skipping wheel for other system (macosx_11_0_arm64 != linux_x86_64): shapely-2.0.5-cp311-cp311-macosx_11_0_arm64.whl
Skipping wheel for other system (manylinux_2_17_aarch64.manylinux2014_aarch64 != linux_x86_64): shapely-2.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Skipping wheel for other system (win_amd64 != linux_x86_64): shapely-2.0.5-cp311-cp311-win_amd64.whl
Skipping wheel for other system (win32 != linux_x86_64): shapely-2.0.5-cp311-cp311-win32.whl
Error: No module named 'shapely.lib'

How can i do a clean installation?

twchambers commented 1 month ago

I had the same issue with blender 4.2. I confirmed that shapely was already installed on my system. Rolling blendercam back to 1.0.37 fixed the issue for me. EDIT: Nevermind, blender updated to 4.2.1 and I'm back to having the same issue.

aak67 commented 1 week ago

I'm using release 1.0.53 with Blender 4.2.1. My workaround on my manjaro linux with manjaro shapely package installed: remove local installed shapely rm -r $HOME/.config/blender/4.2/extensions/.local/lib/python3.12/site-packages/shapely* or always when you start, deactivate blendercam (FABEX CNC) write in a python console window in blender import shapely and activate blendercam (FABEX CNC) again. It looks like the FABEX CNC shapely package is not working properly. If the system package is loaded, the defect FABEX CNC package of shapely can't loaded any more. So FABEX CNC is running well. By the way, you can remove FABEX CNC manually on Linux by removing the folder. Adapt the path accordingly to you Blender version. $HOME/.config/blender/4.2/extensions/user_default/fabex Under the path $HOME/.config/blender/4.2/extensions/.local/lib/python3.12/site-packages/ are more files installed by FABEX CNC:

opencamlib
opencamlib.libs
opencamlib-2023.1.11.dist-info
shapely
shapely.libs
shapely-2.0.5.dist-info
SpectralVectors commented 6 days ago

I think this is a Python issue, I also encountered this on Arch-based Linux distros.

tldr: Download from blender.org instead of installing with your package manager on Linux distros because of Python version conflicts

Long version: Blender officially supports Python 3.11, and only accepts Python wheels for 3.11.

3.12 released a while ago, and 3.13 is out now or soon. Arch distros will grab the latest releases, meaning Python 3.12 or 3.13. Blender ships from package managers without a Python binary and falls back on the system Python binary, which for Arch installs will be the latest - 3.12+, meaning it will be incompatible with all addons that ship with extra Python libraries.

This wasn't an issue before because BlenderCAM used to use a script to install dependencies via pip, which handled all version and compatibility issues, but the new method recommended by Blender is to package binary wheels compatible with Python 3.11 only and tell people to download Blender from Blender.org instead of using their package managers.