Page MenuHomeSoftware Heritage

pip install swh.core on windows machines does not install properly
Closed, MigratedEdits Locked


Sorry for my very late reply, and thank you for your very useful support!
I have just implemented our script which requires the URL of a public
repository as an input and mainly works as follows:

  1. Repository local clone
  2. SWHID local computation by shw tool ( )
  3. Repository save by SH API, save method (
  4. SH URL revolve by SH API, resolve method ( - this is used to get the archive URL when available and publish it on our website

By exploiting your staging application, I made some tests and our script
works as expected from my *Linux-Ubuntu *machine.

Unfortunately, we need to use it from a *Windows 10 64bit machine*, where
python 3.8.5 and pip 21.3.1 are already installed.
We tried to install the swh tool to locally compute the repository SWHID,
but the installation fails with the following error:

*Installing collected packages: swh.coreERROR: Could not install packages
due to an OSError: [Errno 22] Invalid argument:

Do you have any idea and/or suggestion on how to proceed to solve the issue
and install swh package on our Windows machine?

Best Regards,

Event Timeline

ardumont triaged this task as Normal priority.Dec 9 2021, 3:20 PM
ardumont created this task.

The immediate issue is that : is an invalid character in windows file names, so we'll need to change the name of all fixture directories to avoid that character.

Relaying discussion because i don't fully trust my memory on this:

15:21 <+ardumont> i've opened T3786 if someone has any ideas, please ping in in the task
15:21 -- Notice(swhbot): T3786 (submitter: ardumont, status: Open): pip install swh.core on windows machines does not install properly <>
15:21 <+ardumont> (i'll eventually relay if they don't come back to that task)
15:22 <+ardumont> tia
15:22 <+olasd> yes, : is an invalid character in windows file names
15:25 <+ardumont> is that coming from us?
15:25 <+olasd> yes
15:25 <+olasd> all our requests_mock fixtures have : in filenames
15:26 <+ardumont> looks like i was right in opening that task...
15:28 <+olasd> as a workaround, in the meantime, they could run a full linux stack through WSL2

To install WSL as suggested, that documentation [1] should probably help.