4 ms·
This outputs many pages of debug information and then dies. The error seems to be this: This package requires Rust >=1.41.0.
by Tipewryter 5y ago
This outputs many pages of debug information and then dies. The error seems to be this:
This package requires Rust >=1.41.0.
- bsdz 5y agoThat'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).
- eesmith 5y agoDoes it depend on the cryptography library? https://github.com/pyca/cryptography/issues/5771 https://github.com/pyca/cryptography/issues/5771
- bsdz 5y agoIt 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
- Tipewryter 5y agoHere 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."
- bsdz 5y agoYes 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.
- childintime 5y ago> 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?
- sillysaurusx 5y agoHold it! (Pretend I'm Ace Attorney: https://www.youtube.com/watch?v=2lQgZ52iONU&ab_channel=DHC https://www.youtube.com/watch?v=2lQgZ52iONU&ab_channel=DHC) The solution here is, your python environment is borked. I've seen this many times. Step one, is to install a fresh Python. You can do that using pyenv: https://github.com/pyenv/pyenv#installation https://github.com/pyenv/pyenv#installation curl https://pyenv.run | bash Once you can do `pyenv versions`, you should see `system` is your only python. You can run `pyenv install 3.9` to get the latest. Now that you're running the latest 3.9, the goal is to install each of the dependencies of this project, one by one. Step one: try to run the project. It will fail with an error. Step two: install the library that it says is missing. Step three: Go to step one. I've followed this algorithm so many times that I can't count anymore how often it's saved me. Forget poetry, and forget a requirements.txt file. This is the only way I do it on my local laptop. (And I usually use the regular system python, but, yours seems to be in a suspect state.) If after all of this you still get errors, then I'm truly sorry; god be with you, you're not alone, but I'm not sure anyone can help. It's definitely not the fault of this project that pillow can't be installed. :)
- DemocracyFTW 5y ago> your python environment is borked. I've seen this many times Your solution looks simple and easy to follow. There's a flow chart to simplify this process here: https://xkcd.com/1987/ https://xkcd.com/1987/