Some of our customers are seeing below error when using Python Tools to manage python packages. (possible due to proxy server is enforcing SSL inspection on HTTS communications including PyPI)
2023-07-14T08:55:42,837+09:00 2023-07-13 23:55:42,837 user1 [50] WARN Spotfire.Dxp.Forms.Data.Tools.PythonToolsDialog [(null)] - Unable to contact Python Package Index: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)'))': /simple/pip-install-test/
This issue can be solved by running below command to trust all PyPI sites.
python.exe -m pip config set global.trusted-host "pypi.python.org pypi.org files.pythonhosted.org"
However above command must be executed on all Analyst machines that affected by this error. (We know there are other approaches e.g. SPK to manage Python packages as well)
So customer hopes that Spotfire can for example add a preference to DataFunctionsPreferences to allow to specify a list of sites that are trusted by pip command for all Analyst clients globally.
Hi Wei,
In pip, it is possible to set environment variables (https://pip.pypa.io/en/stable/topics/configuration/#environment-variables) or configure settings for repeatable actions (https://pip.pypa.io/en/stable/topics/configuration/#repeatable-options) to a section of within a pip configuration file.
As you mentioned, you can also achieve the same with: pip config set global.trusted-host="pypi.org files.pythonhosted.org".
Such environment configuration is something that is typically done with remote automation by IT admins for the Analyst machines (as other tasks like firewall, software and policies updates)
This means that this is not something that needs to be added to Spotfire, since it is something already supported by the Python tooling.
Let me know if this works for you.
Thanks