How to run Python scripts

If you wish to run Python scripts in your hosting account, you can create and edit them in cPanel.

To create and edit Python script in cPanel use the following steps:

1. Log in to your cPanel:
2. Go to section Files > File Manager:




3. You can choose whether you want to run the script in the cgi-bin folder or outside of it.

The cgi-bin folder contains executable CGI scripts. If the file should be placed out of the cgi-bin folder, .htaccess should be created additionally.

4. In order to run the Python script in the cgi-bin folder follow the steps:

    Go to the cgi-bin folder
    Create a file with a .py extension, for example nctest.py in the /home/cPuser/public_html/cgi-bin directory (where cPuser is your actual cPanel username).


5. In order to create the file, click New File > specify the name of the file with the required extension and click Create New File:





6. Change the permission of the file to 0755

NOTE: Files are created with default permissions 0644. The .py file will become executable when the permissions are changed to 0755.

7. In order to change the permissions of the file you need to select the file > click Change Permissions > Mark Execute for User, Group, World columns and click Change Permissions:





8. Open the file, click Edit and add the code.

We will add the following script for testing purposes:

#!/usr/bin/python

print "Content-type: text/html\n\n"
print "How to run Python scripts in cPanel"

NOTE: The file should start with the path to the Python scripts that is /usr/bin/python on our servers, but you can run the whereis python command via SSH to check the directory.

Now the script should work using http://domain.com/cgi-bin/nctest.py

If you would like to run the Python file not in the cgi-bin folder (in public_html or any other directory), it is necessary to add the following code to the .htaccess file in the same directory where the Python script is placed:

Options +ExecCGI
AddHandler cgi-script .py
  • 11 Users Found This Useful
Was this answer helpful?