[PR #9007] fix(n8n): Add python3-setuptools dependency for Debian 13 #7642

Closed
opened 2026-02-05 08:04:33 +03:00 by OVERLORD · 0 comments
Owner

Original Pull Request: https://github.com/community-scripts/ProxmoxVE/pull/9007

State: closed
Merged: Yes


✍️ Description

This PR fixes the n8n installation failure on Debian 13 (Python 3.12+) by adding the missing python3 and python3-setuptools dependencies.

Problem

The n8n installation script fails when installing n8n on Debian 13 containers because Python 3.12+ no longer includes the distutils module in the standard library. When npm install -g n8n runs, it attempts to compile the sqlite3 native module using node-gyp, which requires distutils. This results in the error:

ModuleNotFoundError: No module named 'distutils'

Solution

Added python3 and python3-setuptools to the dependencies in install/n8n-install.sh. The python3-setuptools package provides the distutils module that node-gyp requires for compiling native Node.js modules.

Changes

  • Added python3 and python3-setuptools to the apt install command in install/n8n-install.sh

Testing

Tested successfully on Debian 13 LXC container:

  • Debian 13 template
  • python3-setuptools (78.1.1-0.1) installed correctly
  • n8n (1.118.2) installed without errors
  • sqlite3 compiled successfully without distutils errors
  • n8n service running and accessible at http://192.168.180.27:5678

Link: #9006

Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected.
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.

🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing functionality in a way that may require updates.
  • 🆕 New script – A fully functional and tested script or script set.
  • 🌍 Website update – Changes to website-related JSON files or metadata.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, AppName.md, CONTRIBUTING.md, or other docs.
**Original Pull Request:** https://github.com/community-scripts/ProxmoxVE/pull/9007 **State:** closed **Merged:** Yes --- ## ✍️ Description This PR fixes the n8n installation failure on Debian 13 (Python 3.12+) by adding the missing `python3` and `python3-setuptools` dependencies. ### Problem The n8n installation script fails when installing n8n on Debian 13 containers because Python 3.12+ no longer includes the `distutils` module in the standard library. When `npm install -g n8n` runs, it attempts to compile the sqlite3 native module using node-gyp, which requires `distutils`. This results in the error: ``` ModuleNotFoundError: No module named 'distutils' ``` ### Solution Added `python3` and `python3-setuptools` to the dependencies in `install/n8n-install.sh`. The `python3-setuptools` package provides the `distutils` module that node-gyp requires for compiling native Node.js modules. ### Changes - Added `python3` and `python3-setuptools` to the apt install command in `install/n8n-install.sh` ### Testing ✅ Tested successfully on Debian 13 LXC container: - Debian 13 template - `python3-setuptools` (78.1.1-0.1) installed correctly - n8n (1.118.2) installed without errors - sqlite3 compiled successfully without distutils errors - n8n service running and accessible at http://192.168.180.27:5678 ## 🔗 Related PR / Issue Link: #9006 ## ✅ Prerequisites (**X** in brackets) - [x] **Self-review completed** – Code follows project standards. - [x] **Tested thoroughly** – Changes work as expected. - [x] **No security risks** – No hardcoded secrets, unnecessary privilege escalations, or permission issues. --- ## 🛠️ Type of Change (**X** in brackets) - [x] 🐞 **Bug fix** – Resolves an issue without breaking functionality. - [ ] ✨ **New feature** – Adds new, non-breaking functionality. - [ ] 💥 **Breaking change** – Alters existing functionality in a way that may require updates. - [ ] 🆕 **New script** – A fully functional and tested script or script set. - [ ] 🌍 **Website update** – Changes to website-related JSON files or metadata. - [ ] 🔧 **Refactoring / Code Cleanup** – Improves readability or maintainability without changing functionality. - [ ] 📝 **Documentation update** – Changes to `README`, `AppName.md`, `CONTRIBUTING.md`, or other docs.
OVERLORD added the pull-request label 2026-02-05 08:04:33 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#7642