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
- Go to the Python Releases for Windows page
- Find the newest Python 3.13 release
- Click Windows installer (64-bit). The file is named like
python-3.13.15-amd64.exe - 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
- Right-click
python-3.13.15-amd64.exeand select Run as administrator - On the first screen, check Add python.exe to PATH, then click Customize installation
- On the Optional Features screen, make sure pip is checked, then click Next
- 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
- Check Install Python 3.13 for all users. The install location changes to
- 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
- Open the Enterprise Configuration tool on the server
- Go to the Server Setup tab
- In the Python section, Status shows Installed with your Python version, for example
Installed (3.13.15)
Run a test enrichment
- Open a project in mindzieStudio and go to an enrichment notebook
- Add a Python enrichment block
- Check that Python Image is set to
LOCAL - Enter the following code. Add an
importline for every other package you installed:
import pandas
import numpy
- 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:
- On the computer with internet access, add the package to
requirements.txtand run the Step 4 command again, with the same--python-version - Copy the updated
packagesfolder andrequirements.txtto the server - 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:
- Repeat Step 7.
where.exe pythonmust point toC:\Program Files\Python313\python.exe - If Python was installed for your account only, reinstall it for all users (Step 6)
- 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:
- In an Administrator PowerShell window, run
python -m pip show openpyxl(use the package name from Step 3) - 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)
- If the Location line points to a folder under
C:\Users\, the package was installed without administrator rights. Runpython -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.txtcame frompip 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
packagesfolder does not contain that package, or the files were downloaded for a different Python version - Compare
python --versionon the server with thecppart of the file names. For Python 3.13, the files must includecp313(files ending inpy3-none-any.whlwork with any version) - Download again on the computer with internet access, with
--python-versionmatching the server, and copy thepackagesfolder 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.
Related Documentation
- Install Python - Install Python on a server with internet access
- Python Enrichment - Custom data transformations with Python
- Python Script Action - Automated Python script execution
- AI Case Prediction - Predictions with machine learning
- Technical Requirements - Server requirements