python-3.xamazon-s3pipaws-cloud9python-s3fs

ImportError: Missing optional dependency 'S3Fs'. The S3Fs package is required to handle S3 files. Use pip or conda to install S3Fs


I am using AWS Cloud9 as my IDE.

import boto3
import pandas as pd
# import s3fs
# s3_ob=boto3.resource('s3',aws_access_key_id="xxxxxxxxxx",aws_secret_access_key="xxxxxxxxxxxx")
client=boto3.client('s3')
path="s3://xxxxxx/FL_insurance_sample.csv"

df=pd.read_csv(path)
# df.head()
print(df)`

While I am able to get the output CSV file in Pycharm, when I use the same code in Cloud9 IDE on AWS I get the error mentioned in title.

I have installed the S3Fs using the pip install S3Fs and when I do "pip list" it does give me the list installed which contains S3Fs so I am confused, why am I getting this error when the module is already installed and it shows in the pip list, and I also tried uncommenting the import S3Fs and still the same error is there.

Please help me.


Solution

  • Installed the s3fs package using pip. It was showing up in pip list. But it did not show up when I did: conda list.

    I resolved this problem by doing the following steps:

    1. Installed the s3fs dependecy using conda install -c conda-forge s3fs
    2. Restarted kernel
    3. Imported s3fsand pandas
    4. Read the csv file which was in my s3 bucket.

    PS: It was library issue.