Python không thể nhập mô-đun trong thư viện [đã đóng]
Tôi đang cố gắng sử dụng mô-đun QSerialPort của PyQt5. Mọi thứ tôi tìm thấy đều chỉ ra rằng QtSerial chứa QSerialPort sẽ đi kèm với PyQt5. Ví dụ,
>>> from PyQt5 import QtSerial
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name 'QtSerial' from 'PyQt5' (/usr/lib/python3.8/site-packages/PyQt5/__init__.py)
Tôi đã thử cài đặt PyQt5 từ bên trong PyCharm, cũng như trên dòng lệnh với pip. Tôi đã thử nâng cấp pip và cài đặt lại PyQt5. Tôi có thể sử dụng các mô-đun khác của PyQt5, ví dụ: nhập PyQt5.QtWidgets mà không gặp vấn đề gì. Tôi cũng đã thử cài đặt qt5-serialport-595và qt51-serialporttừ AUR (tôi đang sử dụng Archlinux), nhưng không có kết quả.
Tôi có thể thấy khi tôi đi tới dòng lệnh và chạy $ pip list -v PyQt5rằng PyQt5 đã được cài đặt tại đó /usr/lib/python3.8/site-packages/và khi tôi nhìn vào đó, tôi có thể thấy rằng tệp /usr/lib/python3.8/site-packages/PyQt5/QtSerialPort.abi3.sotồn tại. Tuy nhiên, tôi cũng không thể nhập PyQt5.QtSerial vì nó cũng không được tìm thấy, mặc dù có một thông báo hơi khác:ImportError: libQt5SerialPort.so.5: cannot open shared object file: No such file or directory
Điều này không phải do lỗi đánh máy trong câu lệnh nhập. Tôi đã thử khá nhiều cách hoán vị có thể có của các chữ Q và T và các từ Serial và Port. Làm cách nào để sử dụng mô-đun nối tiếp của PyQt5?
Trả lời
Dựa trên bài đăng trên diễn đàn Archlinux này, tôi đã chạy pacman -Si python-pyqt5, cung cấp cho tôi danh sách các nhiệm vụ tùy chọn bao gồm dòng, qt5-serialport: QtSerialPortvì vậy tôi đã sử dụng yay để cài đặt qt5-serialport. Điều này khác với qt51-serialport , qt5-serialport-595 và trên thực tế, bất kỳ gói AUR nào có serialport trong tên có thể được tìm thấy bằng cách tìm kiếm trang AUR , vì một số lý do. Bây giờ khi tôi sử dụng python trên dòng lệnh, tôi có thể from PyQt5.QtSerialPort import QSerialPortkhông gặp lỗi.
Tôi nên lưu ý rằng không phải repo gói https://pypi.python.org/simplemà PyCharm đang sử dụng để tìm các gói có thể cài đặt, cũng như danh sách AUR có thể tìm kiếm, cũng như pip dường như hiển thị qt5-serialport như một tùy chọn. Vì vậy, mặc dù tôi đã tải xuống và python có thể tìm thấy nó từ dòng lệnh, nó vẫn không được nhập bởi PyCharm, đây là một vấn đề riêng biệt.