The definitions of eikon versions 1.1.6, 1.1.7, and 1.1.8 on pip and conda-forge indicate that these versions depend on pandas >= 0.17.0. However, the source of these versions reference the DataFrame.convert_dtypes method, which was only added in 1.0.0. Thus the code is only compatible with pandas >= 1.0.0 and even the most basic calls (e.g. eikon.get_data('AAPL.O', 'TR.RIC') ) fail with pandas < 1.0.0.
Please fix these dependency definitions to indicate the dependence on 1.0.0, or conditionally code to support the listed versions. Supporting the listed versions would of course be preferable since the versioning indicates these are bugfix releases. Unfortunately pandas has changed this API several times... to truly support 0.17.0+, the correct code should be something like this:
if pd.__version__ < '0.20.0':
df = df.convert_objects()
elif pd.__version__ < '1.0.0':
df = df.infer_objects()
df = df.convert_dtypes()
Unfortunately, we won't manage backward compatibility with previous versions of pandas (or other dependency).
But if we look the issue from your point of view, you can apply a fix on your side to be forward compatible with latest eikon version.
Install eikon 1.1.8 then downgrade pandas to the version you need (0.24.2).
Then, you can add following lines in your script/project:
import panda as pd if pd.__version__ < '0.20.0': pd.DataFrame.convert_dtypes = pd.DataFrame.convert_objects elif pd.__version__ < '1.0.0': pd.DataFrame.convert_dtypes = pd.DataFrame.infer_objects
With this fix, you should be able to use pandas < 1.0.0 (and you'll remove it as soon as you'll be able to upgrade to 1.x.x).
On my side , I tested successfully to downgrade pandas to 0.24.2 then run a script with this fix.