Follow the below steps:
1. Visit this link https://github.com/tableau/TabPy and download the TabPy folder in Desktop.

2. After downloading the folder, Click on the bar as shown below and copy the address. Go to CMD and enter the address preceding with cd .


3. Now type the startup.cmd as shown below,

NOTE : Possible Errors
- Error as Python is neither an internal nor an external command, then add the folder path to your system environemnt variable as shown below in System path variables.


Then Install Tornado using below code using pip and run the command again.
pip install Tornado==5.1.1
4. Once the tabpy-server is ready and started then you would see like below image.

The above image shows the Port No to be used by tableau to connect with Python - 9004.
5, Go to Tableau Desktop and go to Manage External Service Connection.

6. A dialog box opens like below, Type port as 9004 and Select the external service as TabPy/External API.
7. To check whether the connection is working. Click on Test Connection, then you would get window like below

8. Click OK. Now got to the terminal where TabPy-server was started, you would see Handling messages and the code 200 to show Ok along with time.

9. Now Tableau is ready to be used with Python.
Hope it helps!.
Any queries, revert back with doubts.