eliemichel / LilySurfaceScraper

Import shaders end environments in Blender from a single URL
Other
598 stars 59 forks source link

Can not install lilyScraper add-on #191

Open stuffimade opened 2 years ago

stuffimade commented 2 years ago

Using preferences panel / addons / install... then browsing for the downloaded file e.g. LilySurfaceScraper-v1.7.5-rc2.zip, although I have tried 4 versions of this add-on. After installing an cannot enable the add-on by clicking the check box. See error message screen grab.

Screenshot 2021-12-22 at 09 52 34
stuffimade commented 2 years ago

Actually, I just saved preferences, quit Blender, reopened and the retried to enable the add-on and this worked.

basz commented 2 years ago

Hello I have this same issue. Restarting did not work for me.

I have an MacOS Monterey on an M1 and Blender 3.1 beta.

As per some hint I tried to do this;

/Applications/Blender.app/Contents/Resources/3.1/python/bin/python3.10 -m pip install lxml

However that fails with

ERROR: Command errored out with exit status 1: /Applications/Blender.app/Contents/Resources/3.1/python/bin/python3.10 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/pip-install-4uwb60wl/lxml_621347135c7b4c4287766e906cf29546/setup.py'"'"'; __file__='"'"'/private/var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/pip-install-4uwb60wl/lxml_621347135c7b4c4287766e906cf29546/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/pip-record-h4ol5lbe/install-record.txt --single-version-externally-managed --compile --install-headers /Applications/Blender.app/Contents/Resources/3.1/python/include/python3.10/lxml Check the logs for full command output.

Any tips?

eliemichel commented 2 years ago

@basz You error message is a bit cryptic, could you try adding -t /Applications/Blender.app/Contents/Resources/3.1/scripts/modules?

basz commented 2 years ago
➜  electron-app git:(main) ✗ /Applications/Blender.app/Contents/Resources/3.1/python/bin/python3.10 -m pip install lxml -t /Applications/Blender.app/Contents/Resources/3.1/scripts/modules/
Collecting lxml
  Using cached lxml-4.8.0.tar.gz (3.2 MB)
Using legacy 'setup.py install' for lxml, since package 'wheel' is not installed.
Installing collected packages: lxml
    Running setup.py install for lxml ... error
    ERROR: Command errored out with exit status 1:
     command: /Applications/Blender.app/Contents/Resources/3.1/python/bin/python3.10 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/pip-install-y74qqurj/lxml_7a57d63046794c52bac9c5b9b2528d95/setup.py'"'"'; __file__='"'"'/private/var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/pip-install-y74qqurj/lxml_7a57d63046794c52bac9c5b9b2528d95/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/pip-record-_ffxwc3n/install-record.txt --single-version-externally-managed --home /private/var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/pip-target-fms5ink1 --compile --install-headers /private/var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/pip-target-fms5ink1/include/python/lxml
         cwd: /private/var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/pip-install-y74qqurj/lxml_7a57d63046794c52bac9c5b9b2528d95/
    Complete output (90 lines):
    Building lxml version 4.8.0.
    Building without Cython.
    Building against libxml2 2.9.4 and libxslt 1.1.29
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-11.00-arm64-3.10
    creating build/lib.macosx-11.00-arm64-3.10/lxml
    copying src/lxml/_elementpath.py -> build/lib.macosx-11.00-arm64-3.10/lxml
    copying src/lxml/sax.py -> build/lib.macosx-11.00-arm64-3.10/lxml
    copying src/lxml/pyclasslookup.py -> build/lib.macosx-11.00-arm64-3.10/lxml
    copying src/lxml/__init__.py -> build/lib.macosx-11.00-arm64-3.10/lxml
    copying src/lxml/builder.py -> build/lib.macosx-11.00-arm64-3.10/lxml
    copying src/lxml/doctestcompare.py -> build/lib.macosx-11.00-arm64-3.10/lxml
    copying src/lxml/usedoctest.py -> build/lib.macosx-11.00-arm64-3.10/lxml
    copying src/lxml/cssselect.py -> build/lib.macosx-11.00-arm64-3.10/lxml
    copying src/lxml/ElementInclude.py -> build/lib.macosx-11.00-arm64-3.10/lxml
    creating build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/__init__.py -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    creating build/lib.macosx-11.00-arm64-3.10/lxml/html
    copying src/lxml/html/soupparser.py -> build/lib.macosx-11.00-arm64-3.10/lxml/html
    copying src/lxml/html/defs.py -> build/lib.macosx-11.00-arm64-3.10/lxml/html
    copying src/lxml/html/_setmixin.py -> build/lib.macosx-11.00-arm64-3.10/lxml/html
    copying src/lxml/html/clean.py -> build/lib.macosx-11.00-arm64-3.10/lxml/html
    copying src/lxml/html/_diffcommand.py -> build/lib.macosx-11.00-arm64-3.10/lxml/html
    copying src/lxml/html/html5parser.py -> build/lib.macosx-11.00-arm64-3.10/lxml/html
    copying src/lxml/html/__init__.py -> build/lib.macosx-11.00-arm64-3.10/lxml/html
    copying src/lxml/html/formfill.py -> build/lib.macosx-11.00-arm64-3.10/lxml/html
    copying src/lxml/html/builder.py -> build/lib.macosx-11.00-arm64-3.10/lxml/html
    copying src/lxml/html/ElementSoup.py -> build/lib.macosx-11.00-arm64-3.10/lxml/html
    copying src/lxml/html/_html5builder.py -> build/lib.macosx-11.00-arm64-3.10/lxml/html
    copying src/lxml/html/usedoctest.py -> build/lib.macosx-11.00-arm64-3.10/lxml/html
    copying src/lxml/html/diff.py -> build/lib.macosx-11.00-arm64-3.10/lxml/html
    creating build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron
    copying src/lxml/isoschematron/__init__.py -> build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron
    copying src/lxml/etree.h -> build/lib.macosx-11.00-arm64-3.10/lxml
    copying src/lxml/etree_api.h -> build/lib.macosx-11.00-arm64-3.10/lxml
    copying src/lxml/lxml.etree.h -> build/lib.macosx-11.00-arm64-3.10/lxml
    copying src/lxml/lxml.etree_api.h -> build/lib.macosx-11.00-arm64-3.10/lxml
    copying src/lxml/includes/xmlerror.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/c14n.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/xmlschema.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/__init__.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/schematron.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/tree.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/uri.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/etreepublic.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/xpath.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/htmlparser.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/xslt.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/config.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/xmlparser.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/xinclude.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/dtdvalid.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/relaxng.pxd -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/lxml-version.h -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    copying src/lxml/includes/etree_defs.h -> build/lib.macosx-11.00-arm64-3.10/lxml/includes
    creating build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron/resources
    creating build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron/resources/rng
    copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron/resources/rng
    creating build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron/resources/xsl
    copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron/resources/xsl
    copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron/resources/xsl
    creating build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.macosx-11.00-arm64-3.10/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    running build_ext
    building 'lxml.etree' extension
    creating build/temp.macosx-11.00-arm64-3.10
    creating build/temp.macosx-11.00-arm64-3.10/src
    creating build/temp.macosx-11.00-arm64-3.10/src/lxml
    gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/brecht/dev/build_darwin/deps/Release/sqlite/include -I/Users/brecht/dev/build_darwin/deps/Release/bzip2/include -I/Users/brecht/dev/build_darwin/deps/Release/lzma/include -I/Users/brecht/dev/build_darwin/deps/Release/zlib/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -mmacosx-version-min=11.00 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -mmacosx-version-min=11.00 -arch arm64 -DCYTHON_CLINE_IN_TRACEBACK=0 -Isrc -Isrc/lxml/includes -I/Applications/Blender.app/Contents/Resources/3.1/python/include/python3.10 -c src/lxml/etree.c -o build/temp.macosx-11.00-arm64-3.10/src/lxml/etree.o -w -flat_namespace
    src/lxml/etree.c:96:10: fatal error: 'Python.h' file not found
    #include "Python.h"
             ^~~~~~~~~~
    1 error generated.
    Compile failed: command '/usr/bin/gcc' failed with exit code 1
    creating var
    creating var/folders
    creating var/folders/xv
    creating var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn
    creating var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T
    cc -I/usr/include/libxml2 -c /var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/xmlXPathInit22e6l2ds.c -o var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/xmlXPathInit22e6l2ds.o
    cc var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/xmlXPathInit22e6l2ds.o -lxml2 -o a.out
    error: command '/usr/bin/gcc' failed with exit code 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /Applications/Blender.app/Contents/Resources/3.1/python/bin/python3.10 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/pip-install-y74qqurj/lxml_7a57d63046794c52bac9c5b9b2528d95/setup.py'"'"'; __file__='"'"'/private/var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/pip-install-y74qqurj/lxml_7a57d63046794c52bac9c5b9b2528d95/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/pip-record-_ffxwc3n/install-record.txt --single-version-externally-managed --home /private/var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/pip-target-fms5ink1 --compile --install-headers /private/var/folders/xv/1hrp6hhj4qz58n_611_772zr0000gn/T/pip-target-fms5ink1/include/python/lxml Check the logs for full command output.
WARNING: You are using pip version 21.2.4; however, version 22.0.4 is available.
You should consider upgrading via the '/Applications/Blender.app/Contents/Resources/3.1/python/bin/python3.10 -m pip install --upgrade pip' command.
eliemichel commented 2 years ago

Much clearer, thanks! Your problem is that pip needs to compile some C++ code when installing the lxml package (it only get source code from the reprository), but it does not find the gcc compiler. You have a few options:

In any case, could you let me know whether you have an arm (M1) or x86 (intel) processor?

basz commented 2 years ago

Apple M1

Will try your suggestions. But I have Apple's devtools installed, so should have bcc I think.

gcc*

eliemichel commented 2 years ago

Then you can try https://github.com/eliemichel/LilySurfaceScraper/releases/tag/v1.8.0-rc1 now!

basz commented 2 years ago

I've done these things but the same error appears.

brew install gcc
/Applications/Blender.app/Contents/Resources/3.1/python/bin/python3.10 -m pip install wheel -t /Applications/Blender.app/Contents/Resources/3.1/scripts/modules/
installed 180rc1 (which still reports as 1.7.5 by the way)

I'm not very familiar with python, but if I look at the error it says it can't locate a Python.h file. That is something that should be installed on linux via python-dev package. On MacOS it should be installed when I install python via brew. However aren't Blender extension using the python that comes with Blender? Could it be that Blender doesn't provide the python-dev files?Again just guessing

basz commented 2 years ago

see https://blender.stackexchange.com/questions/81740/python-h-missing-in-blender-python

eliemichel commented 2 years ago

installed 180rc1 (which still reports as 1.7.5 by the way)

My bad, I fixed this.

My point was that with this 1.8.0 release you should not need to pip install anything because lxml's binaries for Mac are now included! What does Blender says when you try to enable the add-on? Since I forgot to increment the version number Blender may have not actually updated the add-on so try uninstalling then reinstalling.

basz commented 2 years ago

Aha. I reinstalled your latest version. When activating a different error now appears. I believe others have reported on this as well. (see https://github.com/eliemichel/LilySurfaceScraper/issues/202)

(since i can't copy the text, here's an image) Screenshot 2022-04-06 at 11 16 06 .

goki001 commented 2 years ago

blender3.1.2 win64 Pls suggest me fix error , Thank you

image