snowflakedb / snowpark-python

Snowflake Snowpark Python API
Apache License 2.0
269 stars 111 forks source link

SNOW-897714: Installer: wrong version on numpy and pyarrow #1011

Open omontanes opened 1 year ago

omontanes commented 1 year ago

Please answer these questions before submitting your issue. Thanks!

  1. What version of Python are you using?

Python 3.10.2

  1. What operating system and processor architecture are you using?

Macos 13.4.1

  1. What are the component versions in the environment (pip freeze)?

    aiosqlite==0.19.0 alembic==1.10.4 anyio==3.6.2 appdirs==1.4.4 appnope==0.1.2 apprise==1.3.0 argon2-cffi==21.3.0 argon2-cffi-bindings==21.2.0 asgi-lifespan==2.1.0 asn1crypto==1.5.1 asttokens==2.0.5 asyncpg==0.27.0 attrs==21.4.0 azure-core==1.26.3 azure-functions==1.15.0 azure-storage-blob==12.15.0 backcall==0.2.0 backoff==2.2.1 black==22.1.0 bleach==4.1.0 cachetools==5.3.0 certifi==2021.10.8 cffi==1.15.0 chardet==4.0.0 charset-normalizer==2.1.1 click==8.0.4 cloudpickle==2.0.0 colorama==0.4.4 coolname==2.2.0 croniter==1.3.14 cryptography==39.0.2 dateparser==1.1.8 debugpy==1.5.1 decorator==5.1.1 defusedxml==0.7.1 diff-cover==6.5.0 docker==6.0.1 entrypoints==0.4 environs==9.5.0 et-xmlfile==1.1.0 executing==0.8.2 fastapi==0.95.1 filelock==3.12.0 fsspec==2023.4.0 geographiclib==1.52 geopy==2.2.0 google-auth==2.17.3 greenlet==2.0.2 griffe==0.27.2 h11==0.14.0 h2==4.1.0 helper==2.5.0 hpack==4.0.0 httpcore==0.17.0 httpx==0.24.0 hyperframe==6.0.1 idna==3.4 iniconfig==1.1.1 install==1.3.5 ipykernel==6.9.1 ipython==8.0.1 ipython-genutils==0.2.0 ipywidgets==7.6.5 isodate==0.6.1 jedi==0.18.1 Jinja2==3.0.3 joblib==1.3.1 jsonpatch==1.32 jsonpointer==2.3 jsonschema==4.4.0 jupyter==1.0.0 jupyter-client==7.1.2 jupyter-console==6.4.0 jupyter-core==4.9.2 jupyterlab-pygments==0.1.2 jupyterlab-widgets==1.0.2 kubernetes==26.1.0 Mako==1.2.4 Markdown==3.4.3 markdown-it-py==2.2.0 MarkupSafe==2.1.0 marshmallow==3.19.0 matplotlib-inline==0.1.3 mdurl==0.1.2 mistune==0.8.4 mypy-extensions==0.4.3 nbclient==0.5.11 nbconvert==6.4.2 nbformat==5.1.3 nest-asyncio==1.5.4 notebook==6.4.8 numpy==1.22.3 oauthlib==3.2.2 openpyxl==3.0.9 orjson==3.8.11 oscrypto==1.3.0 packaging==21.3 pandas==1.4.1 pandocfilters==1.5.0 parso==0.8.3 pathspec==0.9.0 pendulum==2.1.2 pexpect==4.8.0 pickleshare==0.7.5 platformdirs==2.5.1 pluggy==1.0.0 prefect==2.10.6 prometheus-client==0.13.1 prompt-toolkit==3.0.28 ptyprocess==0.7.0 pure-eval==0.2.2 py==1.11.0 pyarrow==10.0.1 pyasn1==0.5.0 pyasn1-modules==0.3.0 pycparser==2.21 pycryptodomex==3.17 pydantic==1.10.7 Pygments==2.15.1 PyJWT==2.6.0 pyOpenSSL==23.1.1 pyparsing==3.0.7 pyrsistent==0.18.1 pytest==7.1.2 python-dateutil==2.8.2 python-dotenv==1.0.0 python-slugify==8.0.1 pytz==2021.3 pytz-deprecation-shim==0.1.0.post0 pytzdata==2020.1 PyYAML==6.0 pyzmq==22.3.0 qtconsole==5.2.2 QtPy==2.0.1 readchar==4.0.5 regex==2022.4.24 requests==2.28.2 requests-oauthlib==1.3.1 rich==13.3.5 rsa==4.9 Send2Trash==1.8.0 six==1.16.0 slack-sdk==3.21.0 sniffio==1.3.0 snowflake-connector-python==3.0.3 snowflake-snowpark-python==1.5.1 snowflake-sqlalchemy==1.4.7 SQLAlchemy==1.4.48 sqlfluff==0.13.1 stack-data==0.2.0 starlette==0.26.1 tblib==1.7.0 terminado==0.13.1 testpath==0.6.0 text-unidecode==1.3 toml==0.10.2 tomli==2.0.1 tornado==6.1 tqdm==4.64.0 traitlets==5.1.1 typer==0.9.0 typing_extensions==4.5.0 tzdata==2023.3 tzlocal==4.3 urllib3==1.26.15 uvicorn==0.22.0 wcwidth==0.2.5 webencodings==0.5.1 websocket-client==1.5.1 websockets==11.0.2 widgetsnbextension==3.5.2

  2. What did you do?

when you try to install snowflake-snowpark-python[pandas] , it installs the latest version of numpy, however it limits you to the version of pyarrow, but there is this known bug https://github.com/numpy/numpy/issues/17913

  1. What did you expect to see?

    What should have happened and what happened instead?

A newer version of pyarrow

sfc-gh-aling commented 1 year ago

hi @omontanes , this is because the dependent package snowflake-connector-python pins the pyarrow dependency to v10.

we've released a preview version of snowflake-connector-python that unpins the pyarrow dependency, you could install the connector first via pip install --pre "snowflake-connector-python[pandas]", and then install the snowpark python library which should unblock your scenario.