poljar / weechat-matrix

Weechat Matrix protocol script written in python
Other
954 stars 119 forks source link

can't load matrix.py #357

Open bloosanbi opened 1 year ago

bloosanbi commented 1 year ago
python: loading script "/home/user/.weechat/python/matrix.py"
python: stdout/stderr (?): Traceback (most recent call last):
python: stdout/stderr (?):   File "/home/user/.weechat/python/matrix.py", line 43, in <module>
python: stdout/stderr (?):     import OpenSSL.crypto as crypto
python: stdout/stderr (?):   File "/home/user/.local/lib/python3.9/site-packages/OpenSSL/__init__.py", line 8, in <module>
python: stdout/stderr (?):     from OpenSSL import SSL, crypto
python: stdout/stderr (?):   File "/home/user/.local/lib/python3.9/site-packages/OpenSSL/SSL.py", line 9, in <module>
python: stdout/stderr (?):     from OpenSSL._util import (
python: stdout/stderr (?):   File "/home/user/.local/lib/python3.9/site-packages/OpenSSL/_util.py", line 6, in <module>
python: stdout/stderr (?):     from cryptography.hazmat.bindings.openssl.binding import Binding
python: stdout/stderr (?):   File
"/home/user/.local/lib/python3.9/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 15, in <module>
python: stdout/stderr (?):     from cryptography.exceptions import InternalError
python: stdout/stderr (?):   File "/home/user/.local/lib/python3.9/site-packages/cryptography/exceptions.py", line 9, in
<module>
python: stdout/stderr (?):     from cryptography.hazmat.bindings._rust import exceptions as rust_exceptions
python: stdout/stderr (?): ImportError: PyO3 modules may only be initialized once per interpreter process
python: unable to parse file "/home/user/.weechat/python/matrix.py"

Complete the installation and run /script load matrix.py, I got the following error. What should I do?

poljar commented 1 year ago

Well, seems like OpenSSL started to use Rust and PyO3 for their Python bindings. And you seem to be loading multiple WeeChat Python scripts which use OpenSSL, which PyO3 doesn't seem to support.

I'm not sure that there's much we can do.