I built 26.3 under Linux Mint and ran into an error with the Python Package Manager. I am assuming this issue belongs here since it is so closely related to the Addon Manager.
Here is the output from the python console:
14:47:47 Traceback (most recent call last):
14:47:47 File "/home/john/FreeCAD/build/historical-python-store-test/Mod/AddonManager/addonmanager_python_deps_gui.py", line 79, in _install_button_clicked
14:47:47 self.model.install_packages(packages.split())
14:47:47 File "/home/john/FreeCAD/build/historical-python-store-test/Mod/AddonManager/addonmanager_python_deps.py", line 318, in install_packages
14:47:47 self._install_or_update_packages([*installed, *packages], PipCommand.Install)
14:47:47 File "/home/john/FreeCAD/build/historical-python-store-test/Mod/AddonManager/addonmanager_python_deps.py", line 326, in _install_or_update_packages
14:47:47 os.rename(self.vendor_path, self.vendor_path + ".old")
14:47:47 FileNotFoundError: [Errno 2] No such file or directory: '/home/john/.local/share/FreeCAD/v26-3/AdditionalPythonPackages/py311' -> '/home/john/.local/share/FreeCAD/v26-3/AdditionalPythonPackages/py311.old'
The solution is simply to ensure the path exists before it is renamed. Then the Python Package Manager can successfully rename it to *.old and packages can be installed.
Conceptually if it is doing this:
os.rename(self.vendor_path, self.vendor_path + ".old")
This would be better:
if os.path.exists(self.vendor_path):
os.rename(self.vendor_path, self.vendor_path + ".old")
To workaround, simply make the directory from the command line before running the Python Package Manager, and it will work. Presumably this is done by the installer, but since I built from source, I don't know.
My FreeCAD version info:
OS: Linux Mint 22.3 (X-Cinnamon/cinnamon/xcb)
Architecture: x86_64
Version: 26.3.0dev.48363 +1 (Git)
Build date: 2026/09/02 06:41:46
Build type: Release
Branch: historical-python-store-test
Hash: 9ca8f05179a7e992000bcced36f457dba2b086de
Python 3.11.14, Qt 6.8.3, Coin 4.0.10 (bundled), Pivy 0.6.11 (bundled), Vtk 9.3.1, boost 1_86, Eigen3 3.4.0, PySide 6.8.3
shiboken 6.8.3, xerces-c 3.3.0, Clipper2 , OCC 7.8.1
Locale: English/United States (en_US)
Stylesheet/Theme/QtStyle: FreeCAD.qss/FreeCAD Dark/
QPA/File dialog/Color dialog: xcb/via Qt/via Qt
Navigation Style/Orbit Style/Rotation Mode: OpenSCAD/Trackball/Drag at cursor
Logical DPI/Physical DPI/Pixel Ratio: 96/129.444/1
OpenGL version/vendor/renderer: 4.6 (Compatibility Profile) Mesa 25.2.8-0ubuntu0.24.04.2/AMD/AMD Radeon 890M Graphics (radeonsi, gfx1150, LLVM 20.1.2, DRM 3.64, 6.17.0-1032-oem)
Installed mods:
- Assembly4 0.61.1
- Curves workbench 0.6.81
- Fasteners Workbench 0.5.65
I built 26.3 under Linux Mint and ran into an error with the Python Package Manager. I am assuming this issue belongs here since it is so closely related to the Addon Manager.
Here is the output from the python console:
14:47:47 Traceback (most recent call last):
14:47:47 File "/home/john/FreeCAD/build/historical-python-store-test/Mod/AddonManager/addonmanager_python_deps_gui.py", line 79, in _install_button_clicked
14:47:47 self.model.install_packages(packages.split())
14:47:47 File "/home/john/FreeCAD/build/historical-python-store-test/Mod/AddonManager/addonmanager_python_deps.py", line 318, in install_packages
14:47:47 self._install_or_update_packages([*installed, *packages], PipCommand.Install)
14:47:47 File "/home/john/FreeCAD/build/historical-python-store-test/Mod/AddonManager/addonmanager_python_deps.py", line 326, in _install_or_update_packages
14:47:47 os.rename(self.vendor_path, self.vendor_path + ".old")
14:47:47 FileNotFoundError: [Errno 2] No such file or directory: '/home/john/.local/share/FreeCAD/v26-3/AdditionalPythonPackages/py311' -> '/home/john/.local/share/FreeCAD/v26-3/AdditionalPythonPackages/py311.old'
The solution is simply to ensure the path exists before it is renamed. Then the Python Package Manager can successfully rename it to *.old and packages can be installed.
Conceptually if it is doing this:
os.rename(self.vendor_path, self.vendor_path + ".old")
This would be better:
if os.path.exists(self.vendor_path):
os.rename(self.vendor_path, self.vendor_path + ".old")
To workaround, simply make the directory from the command line before running the Python Package Manager, and it will work. Presumably this is done by the installer, but since I built from source, I don't know.
My FreeCAD version info:
OS: Linux Mint 22.3 (X-Cinnamon/cinnamon/xcb)
Architecture: x86_64
Version: 26.3.0dev.48363 +1 (Git)
Build date: 2026/09/02 06:41:46
Build type: Release
Branch: historical-python-store-test
Hash: 9ca8f05179a7e992000bcced36f457dba2b086de
Python 3.11.14, Qt 6.8.3, Coin 4.0.10 (bundled), Pivy 0.6.11 (bundled), Vtk 9.3.1, boost 1_86, Eigen3 3.4.0, PySide 6.8.3
shiboken 6.8.3, xerces-c 3.3.0, Clipper2 , OCC 7.8.1
Locale: English/United States (en_US)
Stylesheet/Theme/QtStyle: FreeCAD.qss/FreeCAD Dark/
QPA/File dialog/Color dialog: xcb/via Qt/via Qt
Navigation Style/Orbit Style/Rotation Mode: OpenSCAD/Trackball/Drag at cursor
Logical DPI/Physical DPI/Pixel Ratio: 96/129.444/1
OpenGL version/vendor/renderer: 4.6 (Compatibility Profile) Mesa 25.2.8-0ubuntu0.24.04.2/AMD/AMD Radeon 890M Graphics (radeonsi, gfx1150, LLVM 20.1.2, DRM 3.64, 6.17.0-1032-oem)
Installed mods: