Install Python Offline

This guide shows how to install Python on a mindzieStudio Enterprise Server that has no internet access. You download everything on a computer that does have internet access, copy one folder to the server, and install from that folder. None of the steps on the server need an internet connection.

Plan for about 30 minutes, plus one server restart at the end.

When You Need Python

Python is only required for these features:

Feature What it does
Python enrichment Custom data transformations written in Python
Python Script action Automated integrations, exports, and notifications written in Python
AI Case Prediction enrichment Trains a prediction model on your cases and adds the predictions to your data

If you do not use these features, you do not need to install Python.

Overview

On a computer with internet access On the mindzieStudio server
1. Create the offline folder 6. Install Python for all users
2. Download the Python installer 7. Check the Python installation
3. List the packages you need 8. Install the packages from the folder
4. Download the packages 9. Restart the server
5. Copy the folder to the server 10. Check Python in mindzieStudio

What You Need

  • A computer with internet access that has Python installed. It can run Windows, macOS, or Linux, and any recent Python version. It is only used to download files.
  • A way to copy a folder to the server, such as a USB drive, a file share, or your organization's approved file transfer method.
  • Administrator access on the mindzieStudio server.
  • At least 500 MB of free disk space on the server.

Choose a Python Version

Use Python 3.13 (64-bit). This guide uses Python 3.13 in every example.

Use the Same Python Version Throughout

Python packages are built for one specific Python version. The packages you download in Step 4 must match the Python version you install on the server in Step 6. If you choose a different version, change 3.13 in the Step 4 command to match.

Part 1: On the Computer with Internet Access

Step 1: Create the Offline Folder

Create a folder named python-offline with a packages folder inside it. In PowerShell:

New-Item -ItemType Directory -Force -Path C:\python-offline\packages

Everything you download goes into this one folder.

Step 2: Download the Python Installer

  1. Go to the Python Releases for Windows page
  2. Find the newest Python 3.13 release
  3. Click Windows installer (64-bit). The file is named like python-3.13.15-amd64.exe
  4. Save the file in C:\python-offline

Download the Windows Installer (64-bit)

Do not use the Python install manager or the Windows embeddable package. The install manager downloads Python during installation, which fails on a server without internet access. The embeddable package does not include pip, which you need to install packages.

Step 3: List the Packages You Need

Create a text file named requirements.txt in C:\python-offline, with one package name per line.

Always include pandas and numpy. Every Python enrichment and Python Script action needs them. Include requests if your scripts call web services or your own company APIs.

pandas
numpy
requests

Then add a line for every other package your scripts use. Look at the import lines in your Python code. Some packages are installed under a different name than the one you import:

Your code says Add this line to requirements.txt
import openpyxl openpyxl
import sklearn scikit-learn
import dateutil python-dateutil
import yaml PyYAML
import pyodbc pyodbc
import sqlalchemy sqlalchemy

Scripts Already Working on Another Machine?

If your Python scripts already run correctly on another server or PC, copy its exact package versions instead of writing the list by hand. On that machine, run:

python -m pip freeze > requirements.txt

Use that requirements.txt file. It lists every installed package with its exact version, so the offline server gets the same versions your scripts were tested with.

Step 4: Download the Packages

Open PowerShell and run:

cd C:\python-offline
python -m pip download -r requirements.txt -d packages --only-binary=:all: --platform win_amd64 --python-version 3.13

What each option does:

Option Purpose
-r requirements.txt Downloads every package in your list, plus every package they depend on
-d packages Saves the files in the packages folder
--platform win_amd64 Downloads the 64-bit Windows version of each package
--python-version 3.13 Downloads packages built for Python 3.13. Change this if you install a different version
--only-binary=:all: Downloads ready-to-install packages only, so nothing needs to be compiled on the server

Because of these options, the computer you download on does not need to run Windows or the same Python version as the server.

The command finishes with Successfully downloaded followed by the package names. The packages folder now contains .whl files such as pandas-3.0.5-cp313-cp313-win_amd64.whl. The cp313 part shows the files are built for Python 3.13.

Step 5: Copy the Folder to the Server

Copy the entire python-offline folder to the server. This guide assumes you copy it to C:\python-offline on the server.

The folder should look like this:

C:\python-offline\
    python-3.13.15-amd64.exe
    requirements.txt
    packages\
        numpy-2.5.3-cp313-cp313-win_amd64.whl
        pandas-3.0.5-cp313-cp313-win_amd64.whl
        requests-2.34.2-py3-none-any.whl
        ... and more .whl files

Your version numbers may differ.

Part 2: On the mindzieStudio Server

Step 6: Install Python for All Users

mindzieStudio runs under its own Windows account, not under your account. It can only use Python that is installed for all users and added to the system PATH.

Install Python using either the installer window or a single PowerShell command.

Option A: Installer window

  1. Right-click python-3.13.15-amd64.exe and select Run as administrator
  2. On the first screen, check Add python.exe to PATH, then click Customize installation
  3. On the Optional Features screen, make sure pip is checked, then click Next
  4. On the Advanced Options screen:
    • Check Install Python 3.13 for all users. The install location changes to C:\Program Files\Python313
    • Make sure Add Python to environment variables is checked
    • Leave every option that starts with Download unchecked. Those options need an internet connection
  5. Click Install, then click Close when the installation finishes

Option B: PowerShell command

Open PowerShell as Administrator and run the following command. Replace the file name with the name of the installer you downloaded.

Start-Process -FilePath "C:\python-offline\python-3.13.15-amd64.exe" -ArgumentList "/quiet InstallAllUsers=1 PrependPath=1 Include_test=0" -Wait

InstallAllUsers=1 installs Python for all users. PrependPath=1 adds Python to the system PATH. The command shows no window and returns when the installation is complete.

Step 7: Check the Python Installation

Close any open PowerShell windows. Open a new PowerShell window as Administrator. A new window is required to pick up the updated PATH.

Run:

python --version
where.exe python

Expected output:

Python 3.13.15
C:\Program Files\Python313\python.exe

Python Must Be in Program Files

The first line from where.exe python must point to C:\Program Files\Python313\python.exe. If it points to a folder under C:\Users\, Python was installed for your account only, and mindzieStudio cannot use it. Uninstall that copy from Settings > Apps, then repeat Step 6 and make sure Install Python 3.13 for all users is checked.

Step 8: Install the Packages from the Folder

In the same Administrator PowerShell window, run:

python -m pip install --no-index --find-links C:\python-offline\packages -r C:\python-offline\requirements.txt

--no-index tells pip not to go to the internet. --find-links tells pip to install from your packages folder.

The command finishes with Successfully installed followed by the package names.

Run This Command as Administrator

If PowerShell is not running as Administrator, pip shows the message Defaulting to user installation because normal site-packages is not writeable and installs the packages into your personal profile, where mindzieStudio cannot use them. If you see this message, open PowerShell as Administrator and run the command again.

Confirm that the packages load:

python -c "import pandas, numpy; print('pandas', pandas.__version__, 'numpy', numpy.__version__)"

Expected output (your version numbers may differ):

pandas 3.0.5 numpy 2.5.3

Step 9: Restart the Server

Restart the Windows server.

mindzieStudio checks for Python when it starts, and it must see the updated system PATH. Restarting the server is the reliable way to make sure both happen. Recycling the mindzieStudio application pool is not enough.

Step 10: Check Python in mindzieStudio

Check the Enterprise Configuration tool

  1. Open the Enterprise Configuration tool on the server
  2. Go to the Server Setup tab
  3. In the Python section, Status shows Installed with your Python version, for example Installed (3.13.15)

Run a test enrichment

  1. Open a project in mindzieStudio and go to an enrichment notebook
  2. Add a Python enrichment block
  3. Check that Python Image is set to LOCAL
  4. Enter the following code. Add an import line for every other package you installed:
import pandas
import numpy
  1. Calculate the enrichment. It completes without a Python error.

Adding Packages Later

To add a package after the initial installation, repeat the same steps with only the new package:

  1. On the computer with internet access, add the package to requirements.txt and run the Step 4 command again, with the same --python-version
  2. Copy the updated packages folder and requirements.txt to the server
  3. On the server, run the Step 8 command again in an Administrator PowerShell window

You do not need to restart the server after adding packages.

Troubleshooting

"Python executable 'python' was not found"

Symptom: A Python enrichment or Python Script action fails with:

Python executable 'python' was not found. Please ensure Python is installed and added to your system PATH environment variable.

Solution:

  1. Repeat Step 7. where.exe python must point to C:\Program Files\Python313\python.exe
  2. If Python was installed for your account only, reinstall it for all users (Step 6)
  3. Restart the server (Step 9)

"ModuleNotFoundError: No module named ..."

Symptom: A Python enrichment or Python Script action fails with ModuleNotFoundError: No module named 'openpyxl' (or another package name).

Solution:

  1. In an Administrator PowerShell window, run python -m pip show openpyxl (use the package name from Step 3)
  2. If pip reports Package(s) not found, the package is not installed. Download it (Step 4), copy it to the server, and install it (Step 8)
  3. If the Location line points to a folder under C:\Users\, the package was installed without administrator rights. Run python -m pip uninstall openpyxl, then repeat Step 8 as Administrator

"No matching distribution found" when downloading

Symptom: The Step 4 command fails with ERROR: No matching distribution found for followed by a package name.

Solution:

  • Check the spelling. Use the package name, not the import name (see the table in Step 3)
  • If the line includes a version number, that version may not be available for your Python version. Remove the version number, or choose a newer version
  • If your requirements.txt came from pip freeze, delete any line that contains @ file:. Those packages were installed from a local file and cannot be downloaded

"Could not find a version that satisfies the requirement" on the server

Symptom: The Step 8 command fails with Could not find a version that satisfies the requirement followed by a package name.

Solution:

  • The packages folder does not contain that package, or the files were downloaded for a different Python version
  • Compare python --version on the server with the cp part of the file names. For Python 3.13, the files must include cp313 (files ending in py3-none-any.whl work with any version)
  • Download again on the computer with internet access, with --python-version matching the server, and copy the packages folder again

Python Image shows "Python not configured"

Symptom: A Python enrichment, Python Script action, or AI Case Prediction enrichment shows Python not configured in the Python Image setting.

Solution: Enrichments and actions created before Python was installed keep this value. Change Python Image to LOCAL and calculate again.