I was trying to install a library (allennlp
) via pip3
. But it complained about the PyTorch version. While allennlp
requires torch=0.4.0
I have torch=0.4.1
:
...
Collecting torch==0.4.0 (from allennlp)
Could not find a version that satisfies the requirement torch==0.4.0 (from allennlp) (from versions: 0.1.2, 0.1.2.post1, 0.4.1)
No matching distribution found for torch==0.4.0 (from allennlp)
Also manually install:
pip3 install torch==0.4.0
Doesn't work either:
Could not find a version that satisfies the requirement torch==0.4.0 (from versions: 0.1.2, 0.1.2.post1, 0.4.1)
No matching distribution found for torch==0.4.0
Same for other versions.
Python is version Python 3.7.0
installed via brew
on Mac OS.
I remember that some time ago I was able to switch between version 0.4.0
and 0.3.1
by using pip3 install torch==0.X.X
.
How do I solve this?
allennlp
master branch specifies torch>=0.4.0,<0.5.0
.
The latest release is v0.6.0 - released only about 3 hours ago - and also specifies this range: https://github.com/allenai/allennlp/blob/v0.6.0/setup.py#L104
It's possible you are using an older release (probably v0.51) which pinned torch==0.4.0
: https://github.com/allenai/allennlp/blob/v0.5.1/setup.py#L104
torch
have not yet released a v0.4.0 distribution supporting 3.7 to PyPI: there are wheels for CPython 2.7, 3.5, and 3.6. No source distributions.
allennlp==0.6.0
and torch==0.4.1post2
should work on Python 3.7. I was able to resolve the (considerably large) dependency tree on a linux/Python 3.7.0 runtime using my project johnnydep
:
$ johnnydep allennlp --fields name version_latest_in_spec
name version_latest_in_spec
------------------------------------------- ------------------------
allennlp 0.6.0
├── awscli>=1.11.91 1.15.78
│ ├── PyYAML<=3.13,>=3.10 3.13
│ ├── botocore==1.10.77 1.10.77
│ │ ├── docutils>=0.10 0.14
│ │ ├── jmespath<1.0.0,>=0.7.1 0.9.3
│ │ └── python-dateutil<3.0.0,>=2.1 2.7.3
│ │ └── six>=1.5 1.11.0
│ ├── colorama<=0.3.9,>=0.2.5 0.3.9
│ ├── docutils>=0.10 0.14
│ ├── rsa<=3.5.0,>=3.1.2 3.4.2
│ │ └── pyasn1>=0.1.3 0.4.4
│ └── s3transfer<0.2.0,>=0.1.12 0.1.13
│ └── botocore<2.0.0,>=1.3.0 1.10.77
│ ├── docutils>=0.10 0.14
│ ├── jmespath<1.0.0,>=0.7.1 0.9.3
│ └── python-dateutil<3.0.0,>=2.1 2.7.3
│ └── six>=1.5 1.11.0
├── cffi==1.11.2 1.11.2
│ └── pycparser 2.18
├── conllu==0.11 0.11
├── editdistance 0.4
├── flaky 3.4.0
├── flask-cors==3.0.3 3.0.3
│ ├── Flask>=0.9 1.0.2
│ │ ├── Jinja2>=2.10 2.10
│ │ │ └── MarkupSafe>=0.23 1.0
│ │ ├── Werkzeug>=0.14 0.14.1
│ │ ├── click>=5.1 6.7
│ │ └── itsdangerous>=0.24 0.24
│ └── Six 1.11.0
├── flask==0.12.1 0.12.1
│ ├── Jinja2>=2.4 2.10
│ │ └── MarkupSafe>=0.23 1.0
│ ├── Werkzeug>=0.7 0.14.1
│ ├── click>=2.0 6.7
│ └── itsdangerous>=0.21 0.24
├── gevent==1.3.5 1.3.5
│ └── greenlet>=0.4.13 0.4.14
├── h5py 2.8.0
│ ├── numpy>=1.7 1.15.0
│ └── six 1.11.0
├── jsonnet==0.10.0 0.10.0
├── nltk 3.3.0
│ └── six 1.11.0
├── numpy 1.15.0
├── numpydoc==0.8.0 0.8.0
│ ├── Jinja2>=2.3 2.10
│ │ └── MarkupSafe>=0.23 1.0
│ └── sphinx>=1.2.3 1.7.6
│ ├── Jinja2>=2.3 2.10
│ │ └── MarkupSafe>=0.23 1.0
│ ├── Pygments>=2.0 2.2.0
│ ├── alabaster<0.8,>=0.7 0.7.11
│ ├── babel!=2.0,>=1.3 2.6.0
│ │ └── pytz>=0a 2018.5
│ ├── docutils>=0.11 0.14
│ ├── imagesize 1.0.0
│ ├── packaging 17.1
│ │ ├── pyparsing>=2.0.2 2.2.0
│ │ └── six 1.11.0
│ ├── requests>=2.0.0 2.19.1
│ │ ├── certifi>=2017.4.17 2018.8.13
│ │ ├── chardet<3.1.0,>=3.0.2 3.0.4
│ │ ├── idna<2.8,>=2.5 2.7
│ │ └── urllib3<1.24,>=1.21.1 1.23
│ ├── setuptools 40.0.0
│ ├── six>=1.5 1.11.0
│ ├── snowballstemmer>=1.1 1.2.1
│ └── sphinxcontrib-websupport 1.1.0
├── overrides 1.9
├── parsimonious==0.8.0 0.8.0
│ └── six>=1.9.0 1.11.0
├── pytest 3.7.1
│ ├── atomicwrites>=1.0 1.1.5
│ ├── attrs>=17.4.0 18.1.0
│ ├── more-itertools>=4.0.0 4.3.0
│ │ └── six<2.0.0,>=1.0.0 1.11.0
│ ├── pluggy>=0.7 0.7.1
│ ├── py>=1.5.0 1.5.4
│ ├── setuptools 40.0.0
│ └── six>=1.10.0 1.11.0
├── pytz==2017.3 2017.3
├── requests>=2.18 2.19.1
│ ├── certifi>=2017.4.17 2018.8.13
│ ├── chardet<3.1.0,>=3.0.2 3.0.4
│ ├── idna<2.8,>=2.5 2.7
│ └── urllib3<1.24,>=1.21.1 1.23
├── responses>=0.7 0.9.0
│ ├── cookies 2.2.1
│ ├── requests>=2.0 2.19.1
│ │ ├── certifi>=2017.4.17 2018.8.13
│ │ ├── chardet<3.1.0,>=3.0.2 3.0.4
│ │ ├── idna<2.8,>=2.5 2.7
│ │ └── urllib3<1.24,>=1.21.1 1.23
│ └── six 1.11.0
├── scikit-learn 0.19.2
├── scipy 1.1.0
│ └── numpy>=1.8.2 1.15.0
├── spacy<2.1,>=2.0 2.0.12
│ ├── cymem<1.32,>=1.30 1.31.2
│ ├── dill<0.3,>=0.2 0.2.8.2
│ ├── murmurhash<0.29,>=0.28 0.28.0
│ ├── numpy>=1.7 1.15.0
│ ├── plac<1.0.0,>=0.9.6 0.9.6
│ ├── preshed<2.0.0,>=1.0.0 1.0.1
│ │ └── cymem<1.32.0,>=1.30 1.31.2
│ ├── regex==2017.4.5 2017.4.5
│ ├── requests<3.0.0,>=2.13.0 2.19.1
│ │ ├── certifi>=2017.4.17 2018.8.13
│ │ ├── chardet<3.1.0,>=3.0.2 3.0.4
│ │ ├── idna<2.8,>=2.5 2.7
│ │ └── urllib3<1.24,>=1.21.1 1.23
│ ├── thinc<6.11.0,>=6.10.3 6.10.3
│ │ ├── cymem<1.32.0,>=1.30.0 1.31.2
│ │ ├── cytoolz<0.10,>=0.9.0 0.9.0.1
│ │ │ └── toolz>=0.8.0 0.9.0
│ │ ├── dill<0.3.0,>=0.2.7 0.2.8.2
│ │ ├── msgpack-numpy<1.0.0,>=0.4.1 0.4.3.1
│ │ │ ├── msgpack>=0.3.0 0.5.6
│ │ │ └── numpy>=1.9.0 1.15.0
│ │ ├── msgpack<1.0.0,>=0.5.6 0.5.6
│ │ ├── murmurhash<0.29.0,>=0.28.0 0.28.0
│ │ ├── numpy>=1.7.0 1.15.0
│ │ ├── plac<1.0.0,>=0.9.6 0.9.6
│ │ ├── preshed<2.0.0,>=1.0.0 1.0.1
│ │ │ └── cymem<1.32.0,>=1.30 1.31.2
│ │ ├── six<2.0.0,>=1.10.0 1.11.0
│ │ ├── tqdm<5.0.0,>=4.10.0 4.24.0
│ │ └── wrapt<1.11.0,>=1.10.0 1.10.11
│ └── ujson>=1.35 1.35
├── tensorboardX==1.2 1.2
│ ├── numpy 1.15.0
│ ├── protobuf>=0.3.2 3.6.1
│ │ ├── setuptools 40.0.0
│ │ └── six>=1.9 1.11.0
│ └── six 1.11.0
├── torch<0.5.0,>=0.4.0 0.4.1.post2
├── tqdm>=4.19 4.24.0
├── typing 3.6.4
└── unidecode 1.0.22