pip install of synapse with a custom package mirror fails if setuptools_scm not already installed

Open
#8 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
build-system

Research direction

Start with setup.py and the dependency declaration for setuptools_scm, then reproduce the blank-virtualenv install using pip with the custom -i mirror shown in the issue. Done means installing synapse and its dependencies does not require a separate setuptools_scm installation from the mirror.

Written by the indexing model from the issue text.

Description

when attempting to run:
venv/bin/pip install -i https://python-pypi-mirror/ synapse

on a blank virtualenv, we attempt to install the dependencies via the python-pypi-mirror, including signedjson

However, the change to setup.py to require setuptools_scm causes a failure as it attempts to download setuptools_scm directly from pypi rather than via the mirror.

This can be worked around by pip install -i https://python-pypi-mirror/ setuptools_scm in the virtualenv before installing synapse, but it would be preferred if when pip installs this as a dependency, it inherited the custom package url.

This is only a problem on new installations - existing installations will likely be fine as they already have this installed.

Dominant language
Python
Stars
13
Forks
10
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from matrix-org/python-signedjson

All issues in matrix-org/python-signedjson

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.