Force installation only from piwheels

Forcing the use of piwheels avoids trying
to install numpy/scipy from source,
which is the Right Answer.

Unfortunately, sometimes packages fail on piwheels, but poetry still
tries to install them.  I've had to fix
pyyaml at 5.4.0 for that reason.
This commit is contained in:
Richard Bowman 2021-02-18 13:29:02 +00:00
parent 1e45640195
commit 20001e4946
2 changed files with 562 additions and 495 deletions

1039
poetry.lock generated

File diff suppressed because it is too large Load diff

View file

@ -28,21 +28,31 @@ packages = [
{ include = "openflexure_microscope" },
]
# Installing numpy/scipy/etc. from source is unlikely to work.
# The block below forces Poetry to use piwheels.
# We can add other repositories if we need them.
# Setting default=true disables fallback to PyPI.
[[tool.poetry.source]]
name = "piwheels"
url = "https://www.piwheels.org/simple"
default = true
[tool.poetry.dependencies]
python = "^3.7.3"
Flask = "^1.0"
numpy = "1.19.2" # Exact version so we can guarantee a wheel
Pillow = "^7.2.0"
scipy = "1.5.3" # Exact version so we can guarantee a wheel
scipy = "1.6.1" # Exact version so we can guarantee a wheel
"RPi.GPIO" = { version = "^0.7.0", optional = true }
python-dateutil = "^2.8"
psutil = "^5.6.7" # Autostorage extension
opencv-python-headless = "4.4.0.44"
opencv-python-headless = "4.5.1.48"
sangaboard = "^0.2"
expiringdict = "^1.2.1"
camera-stage-mapping = "0.1.4"
picamerax = ">=20.9.1"
pyyaml = "^5.3.1"
pyyaml = "5.4.0" # pyyaml 5.4.1 is broken in piwheels
pytest-cov = "^2.10.1"
piexif = "^1.1.3"
labthings = "^1.2.2"
@ -64,7 +74,7 @@ pytest = "^6.1.2"
mypy = "^0.790"
poethepoet = "^0.9.0"
freezegun = "^1.0.0"
lxml = "^4.6.2"
lxml = "^4.6.2" # Fix version so piwheels works
[tool.black]
exclude = '(\.eggs|\.git|\.venv|\venv|node_modules/)'