Как установить PyRF24 библиотеку Python для Python 3 - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь использовать беспроводной приемопередатчик NRF24L01 + с Raspberry Pi. Основная библиотека для этого - https://tmrh20.github.io/RF24/index.html, и эта библиотека находится на C ++. На этом сайте есть список оберток вокруг этой библиотеки https://github.com/mz-fuzzy/RF24, который является одним из многих, но, похоже, его поддерживает реальный сопровождающий библиотеки. TMRh20 содержит инструкции по установке библиотеки https://tmrh20.github.io/RF24/Python.html, и, по словам обоих сопровождающих, библиотека python поддерживает python 3. Одна из проблем заключается в том, что вам необходимо вручную связать библиотеку надстроек python, полученную с помощью

* 1008. *

Чтобы связать это, они предлагают сделать:

sudo ln -s /usr/lib/arm-linux-gnueabihf/libboost_python-py34.so /usr/lib/arm-linux-gnueabihf/libboost_python3.so 

, что в моем случае, так как у меня есть Python 3.7, я заменяю это вместо так, чтобы libboost_python-py37.so

Он собирает и устанавливаетнормально с

python3 setup.py build
sudo python3 setup.py install

, когда я запускаю python и пытаюсь

import RF24

Я получаю эту ошибку

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /usr/lib/arm-linux-gnueabihf/libboost_python27.so.1.67.0: undefined symbol: PyString_Type

Похоже, что библиотека-оболочка компилируется против boostдля python2.7, чего не должно быть, поскольку в файле setup.py я изменил его на

module_RF24 = Extension('RF24',
            libraries = ['rf24-bcm', 'boost_python-py37'],
            sources = ['pyRF24.cpp'])

setup(name='RF24',
    version='1.0',
    ext_modules=[module_RF24]
      )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...