python installation guide - factset...a. open the command prompt in windows. b. navigate to the...
TRANSCRIPT
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
1
Python Installation Guide
Doc Version-1.0.1
Last Updated on May 10, 2021
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
2
Table of Contents
Notice ...................................................................................................................................................... 3
Trademarks ............................................................................................................................................. 3
Global Client Support............................................................................................................................... 4
Introduction ............................................................................................................................................. 5
Purpose ................................................................................................................................................... 6
System Requirements ............................................................................................................................. 6
Pre-Installation Requirements .................................................................................................................. 7
FactSet Developer’s Toolkit Installation Procedure................................................................................... 8
Python ................................................................................................................................................. 8
IronPython ........................................................................................................................................... 9
Anaconda .......................................................................................................................................... 10
Troubleshooting – Blocked .dll files ........................................................................................................ 11
Troubleshooting – pythonnet.................................................................................................................. 15
Table of Figures
Figure 1: Command Prompt ................................................................................................................ 8
Figure 2: Config section file credentials .............................................................................................. 8
Figure 3: Command Prompt ................................................................................................................ 9
Figure 4: Config section file credentials .............................................................................................. 9
Figure 5: Anaconda Prompt ............................................................................................................... 10
Figure 6: Config section file credentials ............................................................................................ 10
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
3
Notice
This manual contains confidential information of FactSet Research Systems Inc. or its affiliates ("FactSet").
All proprietary rights, including intellectual property rights, in the licensed materials will remain property of
FactSet or its suppliers, as applicable. The information in this document is subject to change without notice
and does not represent a commitment on the part of FactSet. FactSet assumes no responsibility for any
errors that appears in this document.
Trademarks
For FactSet Research Systems trademarks and registered trademarks, all rights reserved. For information
about the third-party software that is delivered with the product, refer to the third-party license file on your
installation media that is specific to your release. All other brand or product names may be trademarks of
their respective companies.
FactSet is a registered trademark of FactSet Research Systems, Inc.
Microsoft is a registered trademark, and Windows is a trademark of Microsoft Corporation.
Linux is a registered trademark of Linus Torvalds.
Cisco is a registered trademark of Cisco Systems, Inc.
UNIX ® is a registered trademark of The Open Group.
Intel is a registered trademark of Intel Corporation.
Python is a registered trademark of Python Software Foundation.
Anaconda is a registered trademark of Anaconda Inc.
Juypter /Juypter Notebooks are a registered trademark of NumFOCUS.
IronPython is registered trademark of Python Software foundation Corporation.
Windows X is a registered trademark of Massachusetts Institute of Technology.
All other brand or product names may be trademarks of their respective companies.
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
4
Global Client Support
If you have any questions, submit a request through https://issuetracker.factset.com under the
“OnDemand” category and for more queries you can chat with a representative through FactSet
Support (@HELP). For unlimited access to FactSet Consulting Services you can reach out to FactSet
global support numbers.
If you do not have login credentials for Issue Tracker, Email to [email protected]
For general assistance, contact your local FactSet Consultant or Salesperson or Email
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
5
Introduction
This document provides an overview of the FactSet OnDemand Services Toolkit Setup and installation process for Python.
The FactSet OnDemand Python Toolkit is available at https://www.factset.com/download. The download link can be found within a dropdown menu listed as “OnDemand Developer's Toolkit (version) Downloads” under the section “STATISTICAL PACKAGE INTEGRATION”.
The zip file includes sample projects under the Python folder illustrating the integration of the OnDemand service in Python.
These files also include authentication methods with sample calls to the FactSet databases.
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
6
Purpose
This document describes accessing FactSet OnDemand services through Python programming, provides information on setups, and aids the troubleshooting process for common issues during the installation process. This guide is intended for Python programmers.
Users should be acquainted with the Python programming language and its troubleshooting protocols.
System Requirements
Before proceeding, we recommend that you note the following system requirements:
Operating System: Windows
Version: Python 2.7 or later
Framework: .NET framework 4.5 or later
Programming Languages: Microsoft Visual C++ 2013 redistributable
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
7
Pre-Installation Requirements
Ensure that you whitelist https://*.factset.com on firewalls / URL inspectors / IPS / IDS
Ensure that https:// (TCP 443) is allowed for FactSet production destination subnets:
192.234.235.0 (255.255.255.0)
64.209.89.0 (255.255.255.0)
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
8
FactSet Developer’s Toolkit Installation Procedure
Python
1. Download the Developer’s Toolkit from https://www.factset.com/download/.
2. For users running previous versions of the Developer’s Toolkit, delete clr.pyd and
python.runtime.dll
3. Copy the latest version of Developer’s Toolkit, Toolkit.zip, into your Python directory.
a. Example: C:\python27
4. To install pythonnet, perform the following steps:
a. Open the Command Prompt in Windows.
b. Navigate to the Python directory in Windows.
c. Type command “pip install pythonnet”.
Figure 1: Command Prompt
5. Run pythonSample.py to output results from the sample queries.
a. Unzip Toolkit.zip
b. Unzip SampleProjects.zip
c. Navigate to SampleProjects\Python
d. Open pythonSample.py in the Python IDLE editor
e. Enter your OnDemand credentials in the Config section of script as shown below.
f. To verify the sample script, run the entire module in the Python IDLE editor.
Figure 2: Config section file credentials
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
9
IronPython
1. Download the Developer’s Toolkit from https://www.factset.com/download/.
2. For users running previous versions of the Developer’s Toolkit, delete clr.pyd and
python.runtime.dll
3. Copy the latest version of Developer’s Toolkit, Toolkit.zip, into your Python directory.
a. Example: C:\python27
4. To install pythonnet, perform the following steps:
a. Open the Command Prompt in Windows.
b. Navigate to the Python directory in Windows.
c. Type command “pip install pythonnet”.
Figure 3: Command Prompt
5. Run pythonSample.py to output results from the sample queries.
a. Unzip Toolkit.zip
b. Unzip SampleProjects.zip
c. Navigate to SampleProjects\Python
d. Open pythonSample.py in the IronPython command line.
e. Enter your OnDemand credentials in the Config section of script as shown below.
f. To verify the sample script, run the entire module in the IronPython command line.
Figure 4: Config section file credentials
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
10
Anaconda
1. Download the Developer’s Toolkit from https://www.factset.com/download/.
2. For users running previous versions of the Developer’s Toolkit, delete clr.pyd, python.runtime.dll,
Newtonsoft.Json.dll and Kratos_3.dll
3. For users with new installation, Install pythonnet with the following steps. Existing users can skip this step.
a. Open the Anaconda Prompt in Windows.
b. Type command “pip install pythonnet”
Figure 5: Anaconda Prompt
4. Copy the “Newtonsoft.Json.dll” file to the directory below.
Example: C:\ProgramData\Anaconda2\Lib\site-packages\Newtonsoft.Json.dll
5. Copy the “Kratos_3.dll” file to the directory below
Example: C:\ProgramData\Anaconda2\Lib\site-packages\Kratos_3.dll
6. Run pythonSample.py to output results from the sample queries.
a. Unzip Toolkit.zip
b. Unzip SampleProjects.zip
c. Navigate to SampleProjects\Python
d. Open pythonSample.py in the Python IDLE editor
e. Enter your OnDemand credentials in the Config section of script as shown below.
f. To verify the sample script, run the entire module in Anaconda Spyder or Jupyter
Notebook.
Figure 6: Config section file credentials
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
11
Troubleshooting – Blocked .dll files
The following steps describe blocked .dll files with the error responses listed below:
System Error: Dynamic module not initialized properly.
Import Error: Dynamic module does not define module export function.
Unable to find assembly ‘Kratos_3’.
Error while loading a file or assembly ‘Newtonsoft.Json’.
Solution 1:
1. Unblock all imported files (Kratos_3.dll, Newtonsoft.Json.dll, Python.Runtime.dll and clr.pyd).
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
12
2. If the Unblock option is unavailable, see Solution 2.
Solution 2:
1. To verify whether the file is blocked, open a Command Prompt and type:
More < yourFile.exe:Zone.Identifier
2. If ZoneId = 3 or 4, your file is blocked.
If you have PowerShell version: 3 or later, then you can open a PowerShell window and type:
C:\>Unblock-File -Path C:\Path\ToFile\yourFile.exe
3. If Solution 1 or 2 do not work, proceed to Solution 3.
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
13
Solution 3:
1. Add the path where your .dll files are stored as environment variables.
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
14
Once the environmental variable path has been added, add the lines of code below to the top of your pythonsample.py file.
1. Import sys: Import OS sys.path.insert (0, os.path.abspath ('. /')) # add the current file location to sys path so that the clr module is searchable.
Copyright © 2020 FactSet Research Systems Inc. All rights reserved. FactSet Research Systems Inc. | www.factset.com
15
Troubleshooting – pythonnet
The following steps describe pythonnet download issues with the error responses listed below:
SSL: CERTIFICATE_VERIFY_FAILED
SSLError
Solution 1:
For Python and IronPython Setups:
1. Run the following from the Command Prompt. a. pip install --trusted-host pypi.org –trusted-host pypi.python.org --trusted-host
files.pythonhosted.org pythonnet
Solution 2:
For Python and IronPython Setups:
1. Create a pip folder in “C:\Users\<username>\AppData\Roaming” 2. Create a text file containing the code below:
[global] trusted-host = pypi.python.org pypi.org files.pythonhosted.org
2. Rename the file name to pip.ini