Re: pyqt-bundle without Qt Network Auth

Phil Thompson <[email protected]>
Newsgroups gmane.comp.python.pyqt-pykde
Message-ID <[email protected]>
On 14/02/2020 19:40, Florian Bruhin wrote:
> Hey,
> 
> Thanks so much for pyqt-bundle - it makes my life a lot easier to be 
> able to
> test new Qt Alpha/Betas without having to recompile PyQt!
> 
> One thing I noticed is that it crashes when the optional Qt Network 
> Auth module
> isn't installed. If I only install Qt and the WebEngine addon (but not 
> Qt
> Network Auth) via the Qt installer, then try to run it, I get:
> 
>     $ pyqt-bundle
> PyQt5-5.14.1-5.14.1-cp35.cp36.cp37.cp38-abi3-manylinux2014_x86_64.whl
> --qt-dir ~/code/qt/bin/5.15.0/gcc_64/
>     [...]
>     PyQt5/QtNetworkAuth.abi3.so: RPATH=$ORIGIN/Qt/lib
>     PyQt5/QtNetworkAuth.abi3.so: new RPATH: $ORIGIN/Qt/lib
>     pyqt-bundle: An internal error occurred...
>     Traceback (most recent call last):
>       File ".venv/bin/pyqt-bundle", line 10, in <module>
>         sys.exit(main())
>       File
> "/home/florian/tmp/bundle/.venv/lib/python3.8/site-packages/pyqtbuild/bundle/main.py",
> line 77, in main
>         handle_exception(e)
>       File
> "/home/florian/tmp/bundle/.venv/lib/python3.8/site-packages/sipbuild/exceptions.py",
> line 81, in handle_exception
>         raise e
>       File
> "/home/florian/tmp/bundle/.venv/lib/python3.8/site-packages/pyqtbuild/bundle/main.py",
> line 72, in main
>         bundle(wheel_path=args.wheels[0], qt_dir=args.qt_dir,
>       File
> "/home/florian/tmp/bundle/.venv/lib/python3.8/site-packages/pyqtbuild/bundle/bundle.py",
> line 117, in bundle
>         package.bundle_qt(target_qt_dir, qt_dir, arch)
>       File
> "/home/florian/tmp/bundle/.venv/lib/python3.8/site-packages/pyqtbuild/bundle/abstract_package.py",
> line 105, in bundle_qt
>         md.bundle(name, target_qt_dir, qt_dir,
>       File
> "/home/florian/tmp/bundle/.venv/lib/python3.8/site-packages/pyqtbuild/bundle/qt_metadata.py",
> line 66, in bundle
>         self._bundle_qt_library(self._name, target_qt_dir, qt_dir, 
> arch,
>       File
> "/home/florian/tmp/bundle/.venv/lib/python3.8/site-packages/pyqtbuild/bundle/qt_metadata.py",
> line 217, in _bundle_qt_library
>         cls._bundle_library(cls._impl_from_library(name, arch, 
> qt_version),
>       File
> "/home/florian/tmp/bundle/.venv/lib/python3.8/site-packages/pyqtbuild/bundle/qt_metadata.py",
> line 209, in _bundle_library
>         cls._bundle_file(name,
>       File
> "/home/florian/tmp/bundle/.venv/lib/python3.8/site-packages/pyqtbuild/bundle/qt_metadata.py",
> line 201, in _bundle_file
>         shutil.copy2(src, dst)
>       File "/usr/lib/python3.8/shutil.py", line 426, in copy2
>         copyfile(src, dst, follow_symlinks=follow_symlinks)
>       File "/usr/lib/python3.8/shutil.py", line 259, in copyfile
>         with open(src, 'rb') as fsrc, open(dst, 'wb') as fdst:
>     FileNotFoundError: [Errno 2] No such file or directory:
> '/home/florian/code/qt/bin/5.15.0/gcc_64/lib/libQt5NetworkAuth.so.5'
> 
> I'm not sure what should happen in that case, though. I think it should 
> be
> possible for pyqt-bundle to just not bundle that .so (even though PyQt
> originally was compiled against it), and the wheel would work fine in 
> general?
> Then when trying to import QtNetworkAuth I suppose one would just get a
> slightly more cryptic ImportError rather than a ModuleNotFoundError.

Explicit being better than implicit I've added a --exclude option to 
pyqt-bundle (default branch of the repo, untested).

This also means you can create a custom PyQt5 wheel containing only the 
modules you are actually interested in.

Phil
_______________________________________________
PyQt mailing list    [email protected]
https://www.riverbankcomputing.com/mailman/listinfo/pyqt
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.