Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

pip - Installing specific package version does not work

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?

like image 588
MBT Avatar asked Aug 15 '18 14:08

MBT


People also ask

How do I install a specific version of a package?

Use npm list [package-name] to know the specific latest version of an installed package. Use npm install [package-name]@[version-number] to install an older version of a package. Prefix a version number with a caret (^) or a tilde (~) to specify to install the latest minor or patch version, respectively.

How do I upgrade a Python package to a specific version?

How do I Install a Specific Version of a Python Package? To install a specific version of a Python package you can use pip: pip install YourPackage==YourVersion . For example, if you want to install an older version of Pandas you can do as follows: pip install pandas==1.1. 3 .

Why is my pip install not working?

This error usually means there's a problem with the Python installation or the system variable PATH is not set up correctly. Try reinstalling Python and all its components to fix the problem. The easiest way is via the Python executable installer.

How to install specific version of a package with Pip?

Two Steps to Install Specific Version of a Package with Pip:1) Install virtualenv and create an environment2) Install the Specific Version you Need with Pip 1 Install virtualenv and create an environment 2 Install the Specific Version you Need with Pip More ...

How to install any package with version?

There are 2 ways you may install any package with version:- A). pip install -Iv package-name == versionB). pip install -v package-name == version For A

What does pip install 'Pip<10' do?

Since this appeared to be a breaking change introduced in version 10 of pip, I downgraded to a compatible version: pip install 'pip<10' This command tells pip to install a version of the module lower than version 10. Do this in a virutalenvso you don't screw up your site installation of Python. Share Follow

How to fix Pip not working after installing Python?

Make sure to try using pip3 if needed. If all else fails, this has been a reliable way to get pip working on your python install. I would like to preface this with the fact that this shouldn’t be used consistently and I personally recommend simply reinstalling python after uninstalling all the current installations.


Video Answer


1 Answers

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
like image 70
wim Avatar answered Nov 07 '22 07:11

wim