daltonmaag / statmake

Generate STAT tables for variable fonts from .stylespace files
MIT License
39 stars 11 forks source link

Cannot install with with Python 3.7.3 #5

Closed twardoch closed 5 years ago

twardoch commented 5 years ago

When I do with brew-installed Python 3.7.3 on macOS 10.12.6

pip3 uninstall -y attrs && pip3 install --user 'attrs<19.0,>=18.2' && pip3 install --user --upgrade git+https://github.com/daltonmaag/statmake#egg=statmake

I get

Some build dependencies for statmake from git+https://github.com/daltonmaag/statmake#egg=statmake conflict with the backend dependencies: attrs==19.1.0 is incompatible with attrs<19.0,>=18.2.

I don’t know much about the poetry-based setup workflow but it doesn’t make sense to me :)

madig commented 5 years ago

Huh. Why are you un/reinstalling attrs with the first command?

twardoch commented 5 years ago

Well, I wasn't, but I was getting this anyway. I'm getting it despite uninstalling the newer version which is outside the requirements and installing a version that should be ok :)

twardoch commented 5 years ago

I mean, I had 19.1.0, statmake complained, I installed 18.2 and it still complains.

madig commented 5 years ago

Weird. Is your pip and poetry up to date? Try installing it in a venv: python3 -m venv venv && . venv/bin/activate && pip install statmake

twardoch commented 5 years ago

pip is up to date. Poetry? I never explicitly installed it (or heard of it before I saw this :) )

twardoch commented 5 years ago

OK, upgrading poetry did not help, pip was up-to-date but I also upgraded setuptools and the problem went away.

madig commented 5 years ago

Oh, I was just going to say that I can't reproduce on my Mac with 3.7.3. There have been a lot of changes in Python packaging land in recent months and the bundled-with-Python pip/setuptools/wheel libs are often out of date, so I do python3 -m venv venv && . venv/bin/activate && pip install --upgrade pip && pip install --upgrade setuptools wheel on every new virtualenv I create.

twardoch commented 5 years ago

Well, yeah, I guess venv is a useful thing to adopt. Yet still, dependancy management in Python is not very modern. And the fact that you cannot have several parallel-installed versions of packages and simply do

import fontTools==3.40.0 as fontTools

in the code is a pity.

I've been doing more JS development lately, and while JS is still quite terrible, the way npm works and the tools they have — that's just great.

madig commented 5 years ago

I just released 0.1.2 where I relaxed the attrs version requirement. I specified it as "^18.2" before which poetry takes to mean "anything from 18.2.0 but less than 19.0.0". Oops.

And I agree on the package management situation. Oh well.