Hacker News new | ask | show | jobs
by bsdz 1801 days ago
That's very strange. The core library uses pure python and demo uses pyqt5, pandas, matplotlib and pillow. I wasn't aware that any of those projects (or sub projects) depend on Rust. I'm running on Linux / Ubuntu 20.04 with Python 3.8. How about you?

(The pip command I just gave should only install the core library and so only depends on base python).

3 comments

Here is how to reproduce it in a fresh docker container, so we have the same environment:

    docker run -it --rm debian:10-slim /bin/bash

    apt update
    apt install -y git python3-pip --no-install-recommends
    pip3 install git+https://github.com/bsdz/calcengine.git#master
Result: "This package requires Rust >=1.41.0."
Yes you're right! There was something wrong with poetry build system. When I initialised the poetry project roughly a year ago it placed an unpinned dependency (for the build part) for cryptography which recently switched to rust. I'm not sure why poetry hadn't vendorized that package or, at least, pinned the version. In any case, I updated the repo's pyproject.toml to use poetry's new build settings. Then, to check the install works in docker I switched to python's base images and did the following:

  docker run -it --rm python:latest /bin/bash
  curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
  cd /tmp
  git clone https://github.com/bsdz/calcengine.git
  cd calcengine
  python3 -mvenv --prompt calceng .venv
  . ./.venv/bin/activate
  pip install "cppy>=1.1.0"
  ~/.poetry/bin/poetry install -E demo
Note that I had to force cppy to install using pip. At some point I'll refresh the poetry lock file to fix these glitches that seem to appear as an untouched project ages.
Does it depend on the cryptography library? https://github.com/pyca/cryptography/issues/5771
It doesn't look like it:

  $ grep name poetry.lock | cut -d" " -f3 | tr -d '"' | tr '\n' ', '
  appdirs,attrs,black,click,cycler,flake8,kiwisolver,matplotlib,mccabe,
  mypy,mypy-extensions,numpy,pandas,pathspec,pillow,pycodestyle,pyflakes,
  pyparsing,pyqt5,pyqt5-sip,python-dateutil,pytz,regex,six,toml,typed-ast,
  typing-extensions
> I'm running on Linux / Ubuntu 20.04 with Python 3.8. How about you?

Indeed, on Python 3.9 it doesn't install, as it requires Python 3.8.

I'd like to try this, how to proceed?