[GH-ISSUE #1607] Bug: v0.7.1 brew install missing distutils ModuleNotFoundError: No module named 'distutils' #2472

Open
opened 2026-03-01 17:59:16 +03:00 by kerem · 6 comments
Owner

Originally created by @3raxton on GitHub (Dec 4, 2024).
Original GitHub issue: https://github.com/ArchiveBox/ArchiveBox/issues/1607

Originally assigned to: @pirate on GitHub.

Provide a screenshot and describe the bug

I installed ArchiveBox from brew. Upon running archivebox server I receive the following callback:

SUMN archivebox install

Traceback (most recent call last):

File "/Users/Prized/.local/bin/archivebox", line 5, in <module>
    from archivebox.cli import main

File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/archivebox/cli/__init__.py", line 11, in <module>
    from ..config import OUTPUT_DIR, check_data_folder, check_migrations

File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/archivebox/config.py", line 33, in <module>
    import django

File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/django/__init__.py", line 1, in <module>
    from django.utils.version import get_version

File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/django/utils/version.py", line 6, in <module>
    from distutils.version import LooseVersion

ModuleNotFoundError: No module named 'distutils'

Steps to reproduce

1. Start ArchiveBox server within Terminal using archivebox server

Logs or errors

Traceback (most recent call last):


File "/Users/Prized/.local/bin/archivebox", line 5, in <module>
    from archivebox.cli import main

File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/archivebox/cli/__init__.py", line 11, in <module>
    from ..config import OUTPUT_DIR, check_data_folder, check_migrations

File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/archivebox/config.py", line 33, in <module>
    import django

File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/django/__init__.py", line 1, in <module>
    from django.utils.version import get_version

File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/django/utils/version.py", line 6, in <module>
    from distutils.version import LooseVersion

ModuleNotFoundError: No module named 'distutils'

ArchiveBox Version

0.7.1

How did you install the version of ArchiveBox you are using?

brew

What operating system are you running on?

macOS (including Docker on macOS)

What type of drive are you using to store your ArchiveBox data?

  • data/ is on a local SSD or NVMe drive
  • data/ is on a spinning hard drive or external USB drive
  • data/ is on a network mount (e.g. NFS/SMB/CIFS/etc.)
  • data/ is on a FUSE mount (e.g. SSHFS/RClone/S3/B2/OneDrive, etc.)

Docker Compose Configuration


ArchiveBox Configuration


Originally created by @3raxton on GitHub (Dec 4, 2024). Original GitHub issue: https://github.com/ArchiveBox/ArchiveBox/issues/1607 Originally assigned to: @pirate on GitHub. ### Provide a screenshot and describe the bug I installed ArchiveBox from brew. Upon running `archivebox server` I receive the following callback: `SUMN archivebox install` Traceback (most recent call last): ``` File "/Users/Prized/.local/bin/archivebox", line 5, in <module> from archivebox.cli import main File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/archivebox/cli/__init__.py", line 11, in <module> from ..config import OUTPUT_DIR, check_data_folder, check_migrations File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/archivebox/config.py", line 33, in <module> import django File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/django/__init__.py", line 1, in <module> from django.utils.version import get_version File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/django/utils/version.py", line 6, in <module> from distutils.version import LooseVersion ModuleNotFoundError: No module named 'distutils' ``` ### Steps to reproduce ```markdown 1. Start ArchiveBox server within Terminal using archivebox server ``` ### Logs or errors ```shell Traceback (most recent call last): File "/Users/Prized/.local/bin/archivebox", line 5, in <module> from archivebox.cli import main File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/archivebox/cli/__init__.py", line 11, in <module> from ..config import OUTPUT_DIR, check_data_folder, check_migrations File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/archivebox/config.py", line 33, in <module> import django File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/django/__init__.py", line 1, in <module> from django.utils.version import get_version File "/Users/Prized/.local/pipx/venvs/archivebox/lib/python3.13/site-packages/django/utils/version.py", line 6, in <module> from distutils.version import LooseVersion ModuleNotFoundError: No module named 'distutils' ``` ### ArchiveBox Version ```shell 0.7.1 ``` ### How did you install the version of ArchiveBox you are using? brew ### What operating system are you running on? macOS (including Docker on macOS) ### What type of drive are you using to store your ArchiveBox data? - [x] `data/` is on a local SSD or NVMe drive - [ ] `data/` is on a spinning hard drive or external USB drive - [ ] `data/` is on a network mount (e.g. NFS/SMB/CIFS/etc.) - [ ] `data/` is on a FUSE mount (e.g. SSHFS/RClone/S3/B2/OneDrive, etc.) ### Docker Compose Configuration ```shell ``` ### ArchiveBox Configuration ```shell ```
Author
Owner

@pirate commented on GitHub (Dec 4, 2024):

archivebox install via brew install archivebox is deprecated / no longer needed, you should only pip install archivebox as of v0.7.2.

pip install archivebox==0.8.5rc51; archivebox install to try the latest beta, or pip install archivebox; archivebox init --setup + see older Bare Metal Install Wiki to use the older stable v0.7.2 version.

<!-- gh-comment-id:2516223772 --> @pirate commented on GitHub (Dec 4, 2024): archivebox install via `brew install archivebox` is deprecated / no longer needed, you should only `pip install archivebox` as of v0.7.2. `pip install archivebox==0.8.5rc51; archivebox install` to try the [latest beta](https://github.com/ArchiveBox/ArchiveBox/releases), or `pip install archivebox; archivebox init --setup` + see older [Bare Metal Install Wiki](https://github.com/ArchiveBox/ArchiveBox/wiki/Install#option-c-bare-metal-setup) to use the older stable v0.7.2 version.
Author
Owner

@pirate commented on GitHub (Jan 23, 2025):

@3raxton can you try the following and report back:

brew uninstall archivebox

pip install --upgrade pip setuptools archivebox
archivebox init
archivebox setup
archivebox version
<!-- gh-comment-id:2610979097 --> @pirate commented on GitHub (Jan 23, 2025): @3raxton can you try the following and report back: ```bash brew uninstall archivebox pip install --upgrade pip setuptools archivebox archivebox init archivebox setup archivebox version ```
Author
Owner

@3raxton commented on GitHub (Feb 10, 2025):

Hey @pirate, please pardon the delay, it's been quite busy on my end. It seems to me that I'm in a solid place again with archivebox. After running all commands provided, the final output results in version 0.8.5rc51 listed.

One issue I've run into: When trying to log out of ArchiveBox, I run into a 405 error, when the server is running. Are there any ideas you have to resolve this?

I appreciate your help and support with this and look forward to seeing archivebox grow!

Image
<!-- gh-comment-id:2649054436 --> @3raxton commented on GitHub (Feb 10, 2025): Hey @pirate, please pardon the delay, it's been quite busy on my end. It seems to me that I'm in a solid place again with archivebox. After running all commands provided, the final output results in version `0.8.5rc51` listed. One issue I've run into: When trying to log out of ArchiveBox, I run into a 405 error, when the server is running. Are there any ideas you have to resolve this? I appreciate your help and support with this and look forward to seeing archivebox grow! <img width="811" alt="Image" src="https://github.com/user-attachments/assets/58a4fbb9-fde8-4c84-bfa3-273890005a42" />
Author
Owner

@pirate commented on GitHub (Feb 10, 2025):

This is a known bug with v0.8.5, it's a beta with lots of bugs still.

If you need a stable version I recommend running v0.7.3 instead.

<!-- gh-comment-id:2649408296 --> @pirate commented on GitHub (Feb 10, 2025): This is a known bug with v0.8.5, it's a beta with lots of bugs still. If you need a stable version I recommend running v0.7.3 instead.
Author
Owner

@3raxton commented on GitHub (Feb 11, 2025):

No problem. What is the best practice for downgrading to a specific release so that I can make note of this in the future?

<!-- gh-comment-id:2651550071 --> @3raxton commented on GitHub (Feb 11, 2025): No problem. What is the best practice for downgrading to a specific release so that I can make note of this in the future?
Author
Owner

@pirate commented on GitHub (Feb 13, 2025):

If you uninstall archivebox and install the older version pip install archivebox==0.7.2 then run archivebox init from inside the data directory, it might be able to downgrade.

In theory Django supports reverse migrating back to an older version, but I can't guarantee that it'll work as we don't really test it in that direction.

Just make sure to back up your archive before trying anything.

<!-- gh-comment-id:2655686342 --> @pirate commented on GitHub (Feb 13, 2025): If you uninstall archivebox and install the older version `pip install archivebox==0.7.2` then run `archivebox init` from inside the data directory, it might be able to downgrade. In theory Django supports reverse migrating back to an older version, but I can't guarantee that it'll work as we don't really test it in that direction. Just make sure to back up your archive before trying anything.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ArchiveBox#2472
No description provided.