Я получаю следующую ошибку в записной книжке Jupyter, работающей в докере.
NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:snowflake`
Я запускаю следующее
from sqlalchemy import create_engine
engine = create_engine(
f'snowflake://asd:asd@bla/analytics/public?warehouse=general&role=analyst'
)
Из Блокнота я могу выполнить следующееи получите код для работы, с результатами ниже:
!python3 --version
!echo '---'
!cat test.py
!echo '---'
!python3 test.py
Python 3.6.8 :: Anaconda, Inc.
---
from sqlalchemy import create_engine
engine = create_engine(
f'snowflake://asd:asd@bla/analytics/public?warehouse=general&role=analyst'
)
print(engine)
---
Engine(snowflake://asd:***@bla/analytics/public?role=analyst&warehouse=general)
Однако выполнение того же create_engine () из записной книжки Jupyter возвращает вашу ошибку: NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:snowflake
.
IЯ действительно сбит с толку относительно того, почему это происходит.
Я даже добавил pip install --upgrade snowflake-sqlaclchemy
в свой Dockerfile:
# Start from a core stack version https://jupyter-docker-stacks.readthedocs.io/en/latest/using/recipes.html
FROM jupyter/tensorflow-notebook
# Install in the default python3 environment
COPY requirements.txt /tmp/
RUN pip install --requirement /tmp/requirements.txt && \
pip install --upgrade snowflake-sqlalchemy && \
fix-permissions $CONDA_DIR && \
fix-permissions /home/$NB_USER