Closed
Description
Describe the bug
I am on an M1 mac. When I install any 3.x version of awswrangler
and then import awswrangler as wr
it fails with the error:
File <REDACTED>/.venv/lib/python3.11/site-packages/awswrangler/__init__.py:10
1 """Initial Module.
2
3 Source repository: https://github.com/aws/aws-sdk-pandas
4 Documentation: https://aws-sdk-pandas.readthedocs.io/
5
6 """
8 import logging as _logging
---> 10 from awswrangler import (
11 athena,
12 catalog,
13 chime,
14 cleanrooms,
15 cloudwatch,
16 data_api,
17 data_quality,
18 dynamodb,
19 emr,
20 emr_serverless,
21 exceptions,
22 mysql,
23 neptune,
24 opensearch,
25 oracle,
26 postgresql,
27 quicksight,
28 redshift,
29 s3,
30 secretsmanager,
31 sqlserver,
32 sts,
33 timestream,
34 typing,
35 )
36 from awswrangler.__metadata__ import __description__, __license__, __title__, __version__
37 from awswrangler._config import config
File <REDACTED>/.venv/lib/python3.11/site-packages/awswrangler/opensearch/__init__.py:5
3 from awswrangler.opensearch._read import search, search_by_sql
4 from awswrangler.opensearch._utils import connect, create_collection
----> 5 from awswrangler.opensearch._write import create_index, delete_index, index_csv, index_df, index_documents, index_json
7 __all__ = [
8 "connect",
9 "create_collection",
(...)
17 "search_by_sql",
18 ]
File <REDACTED>/.venv/lib/python3.11/site-packages/awswrangler/opensearch/_write.py:23
21 opensearchpy = _utils.import_optional_dependency("opensearchpy")
22 if opensearchpy:
---> 23 from jsonpath_ng import parse
24 from jsonpath_ng.exceptions import JsonPathParserError
26 _logger: logging.Logger = logging.getLogger(__name__)
ModuleNotFoundError: No module named 'jsonpath_ng'
How to Reproduce
If I install 2.20.1 it works. Here's the output of pip install awswrangler==2.20.1
:
Collecting awswrangler==2.20.1
Downloading awswrangler-2.20.1-py3-none-any.whl.metadata (20 kB)
Collecting backoff<3.0.0,>=1.11.1 (from awswrangler==2.20.1)
Downloading backoff-2.2.1-py3-none-any.whl.metadata (14 kB)
Requirement already satisfied: boto3<2.0.0,>=1.24.11 in <REDACTED>/.venv/lib/python3.11/site-packages (from awswrangler==2.20.1) (1.34.25)
Requirement already satisfied: botocore<2.0.0,>=1.27.11 in <REDACTED>/.venv/lib/python3.11/site-packages (from awswrangler==2.20.1) (1.34.25)
Collecting gremlinpython<4.0.0,>=3.5.2 (from awswrangler==2.20.1)
Downloading gremlinpython-3.7.2-py2.py3-none-any.whl.metadata (6.4 kB)
Collecting jsonpath-ng<2.0.0,>=1.5.3 (from awswrangler==2.20.1)
Downloading jsonpath_ng-1.6.1-py3-none-any.whl.metadata (18 kB)
Requirement already satisfied: numpy<2.0.0,>=1.23.5 in <REDACTED>/.venv/lib/python3.11/site-packages (from awswrangler==2.20.1) (1.26.4)
Collecting openpyxl<3.1.0,>=3.0.0 (from awswrangler==2.20.1)
Downloading openpyxl-3.0.10-py2.py3-none-any.whl.metadata (2.4 kB)
Requirement already satisfied: opensearch-py<3,>=1 in <REDACTED>/.venv/lib/python3.11/site-packages (from awswrangler==2.20.1) (2.6.0)
Collecting pandas!=1.5.0,<2.0.0,<=1.5.1,>=1.2.0 (from awswrangler==2.20.1)
Downloading pandas-1.5.1-cp311-cp311-macosx_11_0_arm64.whl.metadata (11 kB)
Collecting pg8000<2.0.0,>=1.20.0 (from awswrangler==2.20.1)
Downloading pg8000-1.31.2-py3-none-any.whl.metadata (74 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.7/74.7 kB 3.5 MB/s eta 0:00:00
Collecting progressbar2<5.0.0,>=4.0.0 (from awswrangler==2.20.1)
Downloading progressbar2-4.4.2-py3-none-any.whl.metadata (17 kB)
Collecting pyarrow<10.1.0,>=2.0.0 (from awswrangler==2.20.1)
Downloading pyarrow-10.0.1-cp311-cp311-macosx_11_0_arm64.whl.metadata (3.0 kB)
Collecting pymysql<2.0.0,>=1.0.0 (from awswrangler==2.20.1)
Downloading PyMySQL-1.1.1-py3-none-any.whl.metadata (4.4 kB)
Collecting redshift-connector<2.1.0,>=2.0.889 (from awswrangler==2.20.1)
Downloading redshift_connector-2.0.918-py3-none-any.whl.metadata (66 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 66.2/66.2 kB 6.7 MB/s eta 0:00:00
Collecting requests-aws4auth<2.0.0,>=1.1.1 (from awswrangler==2.20.1)
Downloading requests_aws4auth-1.3.1-py3-none-any.whl.metadata (18 kB)
Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in <REDACTED>/.venv/lib/python3.11/site-packages (from boto3<2.0.0,>=1.24.11->awswrangler==2.20.1) (1.0.1)
Requirement already satisfied: s3transfer<0.11.0,>=0.10.0 in <REDACTED>/.venv/lib/python3.11/site-packages (from boto3<2.0.0,>=1.24.11->awswrangler==2.20.1) (0.10.2)
Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in <REDACTED>/.venv/lib/python3.11/site-packages (from botocore<2.0.0,>=1.27.11->awswrangler==2.20.1) (2.9.0.post0)
Requirement already satisfied: urllib3<2.1,>=1.25.4 in <REDACTED>/.venv/lib/python3.11/site-packages (from botocore<2.0.0,>=1.27.11->awswrangler==2.20.1) (1.26.19)
Requirement already satisfied: nest-asyncio in <REDACTED>/.venv/lib/python3.11/site-packages (from gremlinpython<4.0.0,>=3.5.2->awswrangler==2.20.1) (1.6.0)
Requirement already satisfied: aiohttp<4.0.0,>=3.8.0 in <REDACTED>/.venv/lib/python3.11/site-packages (from gremlinpython<4.0.0,>=3.5.2->awswrangler==2.20.1) (3.9.5)
Collecting aenum<4.0.0,>=1.4.5 (from gremlinpython<4.0.0,>=3.5.2->awswrangler==2.20.1)
Downloading aenum-3.1.15-py3-none-any.whl.metadata (3.7 kB)
Requirement already satisfied: six<2.0.0,>=1.10.0 in <REDACTED>/.venv/lib/python3.11/site-packages (from gremlinpython<4.0.0,>=3.5.2->awswrangler==2.20.1) (1.16.0)
Requirement already satisfied: isodate<1.0.0,>=0.6.0 in <REDACTED>/.venv/lib/python3.11/site-packages (from gremlinpython<4.0.0,>=3.5.2->awswrangler==2.20.1) (0.6.1)
Requirement already satisfied: ply in <REDACTED>/.venv/lib/python3.11/site-packages (from jsonpath-ng<2.0.0,>=1.5.3->awswrangler==2.20.1) (3.11)
Collecting et-xmlfile (from openpyxl<3.1.0,>=3.0.0->awswrangler==2.20.1)
Downloading et_xmlfile-1.1.0-py3-none-any.whl.metadata (1.8 kB)
Requirement already satisfied: requests<3.0.0,>=2.4.0 in <REDACTED>/.venv/lib/python3.11/site-packages (from opensearch-py<3,>=1->awswrangler==2.20.1) (2.32.3)
Requirement already satisfied: certifi>=2022.12.07 in <REDACTED>/.venv/lib/python3.11/site-packages (from opensearch-py<3,>=1->awswrangler==2.20.1) (2024.7.4)
Requirement already satisfied: Events in <REDACTED>/.venv/lib/python3.11/site-packages (from opensearch-py<3,>=1->awswrangler==2.20.1) (0.5)
Requirement already satisfied: pytz>=2020.1 in <REDACTED>/.venv/lib/python3.11/site-packages (from pandas!=1.5.0,<2.0.0,<=1.5.1,>=1.2.0->awswrangler==2.20.1) (2024.1)
Collecting scramp>=1.4.5 (from pg8000<2.0.0,>=1.20.0->awswrangler==2.20.1)
Downloading scramp-1.4.5-py3-none-any.whl.metadata (19 kB)
Collecting python-utils>=3.8.1 (from progressbar2<5.0.0,>=4.0.0->awswrangler==2.20.1)
Downloading python_utils-3.8.2-py2.py3-none-any.whl.metadata (9.7 kB)
Requirement already satisfied: beautifulsoup4<5.0.0,>=4.7.0 in <REDACTED>/.venv/lib/python3.11/site-packages (from redshift-connector<2.1.0,>=2.0.889->awswrangler==2.20.1) (4.12.3)
Requirement already satisfied: lxml>=4.6.5 in <REDACTED>/.venv/lib/python3.11/site-packages (from redshift-connector<2.1.0,>=2.0.889->awswrangler==2.20.1) (5.2.2)
Requirement already satisfied: packaging in <REDACTED>/.venv/lib/python3.11/site-packages (from redshift-connector<2.1.0,>=2.0.889->awswrangler==2.20.1) (23.2)
Requirement already satisfied: setuptools in <REDACTED>/.venv/lib/python3.11/site-packages (from redshift-connector<2.1.0,>=2.0.889->awswrangler==2.20.1) (69.2.0)
Requirement already satisfied: aiosignal>=1.1.2 in <REDACTED>/.venv/lib/python3.11/site-packages (from aiohttp<4.0.0,>=3.8.0->gremlinpython<4.0.0,>=3.5.2->awswrangler==2.20.1) (1.3.1)
Requirement already satisfied: attrs>=17.3.0 in <REDACTED>/.venv/lib/python3.11/site-packages (from aiohttp<4.0.0,>=3.8.0->gremlinpython<4.0.0,>=3.5.2->awswrangler==2.20.1) (23.2.0)
Requirement already satisfied: frozenlist>=1.1.1 in <REDACTED>/.venv/lib/python3.11/site-packages (from aiohttp<4.0.0,>=3.8.0->gremlinpython<4.0.0,>=3.5.2->awswrangler==2.20.1) (1.4.1)
Requirement already satisfied: multidict<7.0,>=4.5 in <REDACTED>/.venv/lib/python3.11/site-packages (from aiohttp<4.0.0,>=3.8.0->gremlinpython<4.0.0,>=3.5.2->awswrangler==2.20.1) (6.0.5)
Requirement already satisfied: yarl<2.0,>=1.0 in <REDACTED>/.venv/lib/python3.11/site-packages (from aiohttp<4.0.0,>=3.8.0->gremlinpython<4.0.0,>=3.5.2->awswrangler==2.20.1) (1.9.4)
Requirement already satisfied: soupsieve>1.2 in <REDACTED>/.venv/lib/python3.11/site-packages (from beautifulsoup4<5.0.0,>=4.7.0->redshift-connector<2.1.0,>=2.0.889->awswrangler==2.20.1) (2.5)
Requirement already satisfied: typing-extensions>3.10.0.2 in <REDACTED>/.venv/lib/python3.11/site-packages (from python-utils>=3.8.1->progressbar2<5.0.0,>=4.0.0->awswrangler==2.20.1) (4.12.2)
Requirement already satisfied: charset-normalizer<4,>=2 in <REDACTED>/.venv/lib/python3.11/site-packages (from requests<3.0.0,>=2.4.0->opensearch-py<3,>=1->awswrangler==2.20.1) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in <REDACTED>/.venv/lib/python3.11/site-packages (from requests<3.0.0,>=2.4.0->opensearch-py<3,>=1->awswrangler==2.20.1) (3.7)
Collecting asn1crypto>=1.5.1 (from scramp>=1.4.5->pg8000<2.0.0,>=1.20.0->awswrangler==2.20.1)
Downloading asn1crypto-1.5.1-py2.py3-none-any.whl.metadata (13 kB)
Downloading awswrangler-2.20.1-py3-none-any.whl (272 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 272.3/272.3 kB 10.9 MB/s eta 0:00:00
Downloading backoff-2.2.1-py3-none-any.whl (15 kB)
Downloading gremlinpython-3.7.2-py2.py3-none-any.whl (78 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.1/78.1 kB 10.3 MB/s eta 0:00:00
Downloading jsonpath_ng-1.6.1-py3-none-any.whl (29 kB)
Downloading openpyxl-3.0.10-py2.py3-none-any.whl (242 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 242.1/242.1 kB 18.4 MB/s eta 0:00:00
Downloading pandas-1.5.1-cp311-cp311-macosx_11_0_arm64.whl (10.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.7/10.7 MB 16.9 MB/s eta 0:00:00
Downloading pg8000-1.31.2-py3-none-any.whl (54 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.5/54.5 kB 5.3 MB/s eta 0:00:00
Downloading progressbar2-4.4.2-py3-none-any.whl (56 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.8/56.8 kB 6.7 MB/s eta 0:00:00
Downloading pyarrow-10.0.1-cp311-cp311-macosx_11_0_arm64.whl (22.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 22.9/22.9 MB 15.1 MB/s eta 0:00:00
Downloading PyMySQL-1.1.1-py3-none-any.whl (44 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 45.0/45.0 kB 4.9 MB/s eta 0:00:00
Downloading redshift_connector-2.0.918-py3-none-any.whl (124 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 124.2/124.2 kB 11.0 MB/s eta 0:00:00
Downloading requests_aws4auth-1.3.1-py3-none-any.whl (24 kB)
Downloading aenum-3.1.15-py3-none-any.whl (137 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 137.6/137.6 kB 9.8 MB/s eta 0:00:00
Downloading python_utils-3.8.2-py2.py3-none-any.whl (27 kB)
Downloading scramp-1.4.5-py3-none-any.whl (12 kB)
Downloading et_xmlfile-1.1.0-py3-none-any.whl (4.7 kB)
Downloading asn1crypto-1.5.1-py2.py3-none-any.whl (105 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 105.0/105.0 kB 14.5 MB/s eta 0:00:00
Installing collected packages: asn1crypto, aenum, scramp, python-utils, pymysql, pyarrow, jsonpath-ng, et-xmlfile, backoff, requests-aws4auth, progressbar2, pg8000, pandas, openpyxl, gremlinpython, redshift-connector, awswrangler
Attempting uninstall: pyarrow
Found existing installation: pyarrow 17.0.0
Uninstalling pyarrow-17.0.0:
Successfully uninstalled pyarrow-17.0.0
Attempting uninstall: pandas
Found existing installation: pandas 2.2.2
Uninstalling pandas-2.2.2:
Successfully uninstalled pandas-2.2.2
Attempting uninstall: awswrangler
Found existing installation: awswrangler 3.7.3
Uninstalling awswrangler-3.7.3:
Successfully uninstalled awswrangler-3.7.3
Successfully installed aenum-3.1.15 asn1crypto-1.5.1 awswrangler-2.20.1 backoff-2.2.1 et-xmlfile-1.1.0 gremlinpython-3.7.2 jsonpath-ng-1.6.1 openpyxl-3.0.10 pandas-1.5.1 pg8000-1.31.2 progressbar2-4.4.2 pyarrow-10.0.1 pymysql-1.1.1 python-utils-3.8.2 redshift-connector-2.0.918 requests-aws4auth-1.3.1 scramp-1.4.5
Importing the module after this works.
Here's the output after first running pip uninstall jsonpath-ng
and then running pip install --upgrade awswrangler
Requirement already satisfied: awswrangler in <REDACTED>/.venv/lib/python3.11/site-packages (2.20.1)
Collecting awswrangler
Using cached awswrangler-3.9.1-py3-none-any.whl.metadata (17 kB)
Requirement already satisfied: boto3<2.0.0,>=1.20.32 in <REDACTED>/.venv/lib/python3.11/site-packages (from awswrangler) (1.34.25)
Requirement already satisfied: botocore<2.0.0,>=1.23.32 in <REDACTED>/.venv/lib/python3.11/site-packages (from awswrangler) (1.34.25)
Requirement already satisfied: numpy<2.0,>=1.18 in <REDACTED>/.venv/lib/python3.11/site-packages (from awswrangler) (1.26.4)
Requirement already satisfied: packaging<25.0,>=21.1 in <REDACTED>/.venv/lib/python3.11/site-packages (from awswrangler) (23.2)
Requirement already satisfied: pandas<3.0.0,>=1.2.0 in <REDACTED>/.venv/lib/python3.11/site-packages (from awswrangler) (1.5.1)
Requirement already satisfied: pyarrow>=8.0.0 in <REDACTED>/.venv/lib/python3.11/site-packages (from awswrangler) (10.0.1)
Requirement already satisfied: typing-extensions<5.0.0,>=4.4.0 in <REDACTED>/.venv/lib/python3.11/site-packages (from awswrangler) (4.12.2)
Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in <REDACTED>/.venv/lib/python3.11/site-packages (from boto3<2.0.0,>=1.20.32->awswrangler) (1.0.1)
Requirement already satisfied: s3transfer<0.11.0,>=0.10.0 in <REDACTED>/.venv/lib/python3.11/site-packages (from boto3<2.0.0,>=1.20.32->awswrangler) (0.10.2)
Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in <REDACTED>/.venv/lib/python3.11/site-packages (from botocore<2.0.0,>=1.23.32->awswrangler) (2.9.0.post0)
Requirement already satisfied: urllib3<2.1,>=1.25.4 in <REDACTED>/.venv/lib/python3.11/site-packages (from botocore<2.0.0,>=1.23.32->awswrangler) (1.26.19)
Requirement already satisfied: pytz>=2020.1 in <REDACTED>/.venv/lib/python3.11/site-packages (from pandas<3.0.0,>=1.2.0->awswrangler) (2024.1)
Requirement already satisfied: six>=1.5 in <REDACTED>/.venv/lib/python3.11/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<2.0.0,>=1.23.32->awswrangler) (1.16.0)
Using cached awswrangler-3.9.1-py3-none-any.whl (381 kB)
Installing collected packages: awswrangler
Attempting uninstall: awswrangler
Found existing installation: awswrangler 2.20.1
Uninstalling awswrangler-2.20.1:
Successfully uninstalled awswrangler-2.20.1
Successfully installed awswrangler-3.9.1
After this the import fails.
Expected behavior
after running pip install awswrangler
, import awswrangler
should work.
Your project
No response
Screenshots
No response
OS
M1 Pro Mac, Mac OS Sonoma 14.6.1
Python version
3.11.9
AWS SDK for pandas version
3.9.1 (and all 3.x releases)
Additional context
No response