Не импортируется модуль Figure из bokeh
Выполняю шаги по документации библиотеки BAC0,
хочу запустить GUI, в документации (https://bac0.readthedocs.io/en/latest/connect.html) указано установить набор дополнительных библиотек, в т.ч. bokeh.
При запуске кода:
import BAC0
bacnet = BAC0.connect( ip='192.168.33.13/21' )
BAC0.version
bacnet.discoveredDevices
bacnet.whois(global_broadcast=True)
print(bacnet.devices)
вылетает ошибка:
Import Error, refer to documentation or reinstall using
$ "pip install BAC0"
cannot import name 'Figure' from 'bokeh.plotting' (C:\Users\username\Documents\bacnet-1\venv\Lib\site-packages\bokeh\plotting\__init__.py)
Discard this message if you are actually installing BAC0.
================================================================================
Traceback (most recent call last):
File "c:\Users\username\Documents\bacnet-1\main.py", line 3, in <module>
bacnet = BAC0.connect( ip='192.168.33.13/21' )
^^^^^^^^^^^^
AttributeError: module 'BAC0' has no attribute 'connect'
пробовал ставить bokeh версии ниже, переустанавливать BAC0, bokeh результат тот же. вот список библиотек виртуального окружения для python 3.12.3(windows10, x64):
BAC0==23.7.3
bacpypes==0.18.7
blinker==1.8.2
bokeh==3.4.1
click==8.1.7
colorama==0.4.6
contourpy==1.2.1
dominate==2.9.1
Flask==3.0.3
Flask-Bootstrap==3.3.7.1
itsdangerous==2.2.0
Jinja2==3.1.4
MarkupSafe==2.1.5
numpy==1.26.4
packaging==24.0
pandas==2.2.2
pillow==10.3.0
pyasyncore==1.0.4
python-dateutil==2.9.0.post0
pytz==2024.1
PyYAML==6.0.1
six==1.16.0
tornado==6.4
tzdata==2024.1
visitor==0.1.3
Werkzeug==3.0.3
xyzservices==2024.4.0
Ответы (1 шт):
Автор решения: Unicron
→ Ссылка
Нашел решение:
Необходимо установить библиотеку bokeh версии 2.4.2 (pip install bokeh==2.4.2
) или ниже и сервер запускается:
2024-06-04 22:26:18,575 - INFO | Starting BAC0 version 23.07.03 (Complete)
2024-06-04 22:26:18,575 - INFO | Use BAC0.log_level to adjust verbosity of the app.
2024-06-04 22:26:18,575 - INFO | Ex. BAC0.log_level('silence') or BAC0.log_level('error')
2024-06-04 22:26:18,575 - INFO | Starting TaskManager
2024-06-04 22:26:18,594 - INFO | Using ip : 192.168.31.115 on port 47808 | broadcast : 192.168.31.255
2024-06-04 22:26:18,670 - INFO | Starting app...
2024-06-04 22:26:18,670 - INFO | BAC0 started
2024-06-04 22:26:18,670 - INFO | Registered as Simple BACnet/IP App
2024-06-04 22:26:18,671 - INFO | Device instance (id) : 3056648
2024-06-04 22:26:18,704 - INFO | Update Local COV Task started (required to support COV)
C:\Users\akama\Downloads\bacnet-1\venv\lib\site-packages\BAC0\web\BokehRenderer.py:163: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
df.fillna(method="ffill")
2024-06-04 22:26:19,915 - INFO | Server started : http://192.168.31.115:8111
* Serving Flask app 'BAC0.web.FlaskServer'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:8111
* Running on http://192.168.31.115:8111
Press CTRL+C to quit
2024-06-04 22:26:23,953 - INFO | Found those networks : set()
2024-06-04 22:26:23,953 - INFO | No BACnet network found, attempting a simple whois using provided device instances limits (0 - 4194303)
P.S. правда теперь мне непонятно как поднять BACnet сеть, но это уже в другое