It is possible to install both PyXLL and FINCAD F3 together in Excel at the same time.
Some FINCAD models use Python and to use FINCAD and PyXLL together they need to share the same Python interprerter. You will need to use the same Python version with PyXLL as FINCAD uses. At the time of writing (Feb 2022) that is Python 3.7, but you should check with FINCAD support if you are not sure which version of Python to use.
It is easiest to get FINCAD to use the same Python environment that you are already using with PyXLL, rather than trying to use FINCAD's own Python environment. This is because the FINCAD environment is part of the FINCAD install and shouldn't be modified. By using your own Python environment as you do with PyXLL you can continue to manage the packages in that environment yourself without any problems.
To get FINCAD to use the same environment as PyXLL, the PyXLL add-in must be loaded before the FINCAD add-in. This can be achieved by doing the following:
- Remove both the PyXLL add-in and the FINCAD add-in from Excel in Options -> Add-Ins.
- Completely shut down Excel, ensuring that no EXCEL.EXE processes are left running (check in the Details tab of the Windows Task Manager).
- Restart Excel and check that neither the PyXLL add-in nor the FINCAD add-in are loaded.
- Re-add the PyXLL add-in via Options -> Add-Ins in Excel.
- Re-activate the FINCAD F3 add-in via the FINCAD tools in your Start menu.
Restart Excel after doing this and now the PyXLL add-in will be loaded first.
You will also need to add the FINCAD Python packages to your pythonpath setting in your pyxll.cfg file. Typically you can find this in the FINCAD installation folder here, though the exact path may change depending on the version of the software:
- C:\Program Files\FINCAD\F3 Excel Edition 10.1\bin\lib
In that folder you should see a lot of Python packages, and these are needed for FINCAD's Python functions to work. If you are having problems with some FINCAD Excel functions not being available then double check this path has been added correctly to your pythonpath setting.