pacificclimate / design-value-explorer

Web application for interactively visualizing and downloading design value fields and tables.
GNU General Public License v3.0
0 stars 0 forks source link

Fix Pipfile #219

Closed rod-glover closed 2 years ago

rod-glover commented 2 years ago

It is no longer possible to install new packages into this environment. Nor can the Pipfile as it stands now be installed on its own (i.e., copy it into an otherwise empty directory and issue pipfile install). Any attempt to do so results in an error like this:

rglover@pcic-3002:~/code/dve-pipenv-test-1$ pipenv install --dev
Creating a virtualenv for this project...
Pipfile: /home/rglover/code/dve-pipenv-test-1/Pipfile
Using /usr/bin/python3.8 (3.8.10) to create virtualenv...
⠹ Creating virtual environment...created virtual environment CPython3.8.10.final.0-64 in 108ms
  creator CPython3Posix(dest=/home/rglover/.local/share/virtualenvs/dve-pipenv-test-1-h8cG1UmJ, clear=False, global=False)
  seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, pkg_resources=latest, via=copy, app_data_dir=/home/rglover/.local/share/virtualenv/seed-app-data/v1.0.1.debian.1)
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
✔ Successfully created virtual environment! 
Virtualenv location: /home/rglover/.local/share/virtualenvs/dve-pipenv-test-1-h8cG1UmJ
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Building requirements...
✔ Success! 
Locking [packages] dependencies...
✘ Locking Failed! 

-- omitted --

[pipenv.exceptions.ResolutionFailure]: Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  First try clearing your dependency cache with $ pipenv lock --clear, then try the original command again.
 Alternatively, you can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
  Hint: try $ pipenv lock --pre if it is a pre-release dependency.
ERROR: Could not find a version that matches numpy<1.25.0,==1.17.3,>=1.14.6,>=1.15,>=1.17,>=1.17.3,>=1.18.5,>=1.7,>=1.9.3 (from -r /tmp/pipenvwd_obk7xrequirements/pipenv-bomlu3ze-constraints.txt (line 5))
Tried: 1.3.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.6.0, 1.6.1, 1.6.1, 1.6.2, 1.6.2, 1.7.0, 1.7.0, 1.7.1, 1.7.1, 1.7.2, 1.7.2, 1.8.0, 1.8.0, 1.8.1, 1.8.1, 1.8.2, 1.8.2, 1.9.0, 1.9.0, 1.9.1, 1.9.1, 1.9.2, 1.9.2, 1.9.3, 1.9.3, 1.10.0.post2, 1.10.0.post2, 1.10.1, 1.10.1, 1.10.2, 1.10.2, 1.10.4, 1.10.4, 1.11.0, 1.11.0, 1.11.1, 1.11.1, 1.11.2, 1.11.2, 1.11.3, 1.12.0, 1.12.1, 1.13.0, 1.13.1, 1.13.3, 1.14.0, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.14.5, 1.14.6, 1.15.0, 1.15.1, 1.15.2, 1.15.3, 1.15.4, 1.16.0, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.16.6, 1.17.0, 1.17.1, 1.17.2, 1.17.3, 1.17.3, 1.17.4, 1.17.4, 1.17.5, 1.17.5, 1.18.0, 1.18.0, 1.18.1, 1.18.1, 1.18.2, 1.18.2, 1.18.3, 1.18.3, 1.18.4, 1.18.4, 1.18.5, 1.18.5, 1.19.0, 1.19.0, 1.19.0, 1.19.1, 1.19.1, 1.19.1, 1.19.2, 1.19.2, 1.19.2, 1.19.3, 1.19.3, 1.19.3, 1.19.4, 1.19.4, 1.19.4, 1.19.5, 1.19.5, 1.19.5, 1.20.0, 1.20.0, 1.20.0, 1.20.1, 1.20.1, 1.20.1, 1.20.2, 1.20.2, 1.20.2, 1.20.3, 1.20.3, 1.20.3, 1.21.0, 1.21.0, 1.21.0, 1.21.1, 1.21.1, 1.21.1, 1.21.2, 1.21.2, 1.21.2, 1.21.3, 1.21.3, 1.21.3, 1.21.4, 1.21.4, 1.21.5, 1.21.5, 1.22.0, 1.22.0, 1.22.1, 1.22.1, 1.22.2, 1.22.2
Skipped pre-versions: 1.13.0rc1, 1.13.0rc2, 1.14.0rc1, 1.15.0rc1, 1.15.0rc2, 1.16.0rc1, 1.16.0rc2, 1.17.0rc1, 1.17.0rc2, 1.18.0rc1, 1.18.0rc1, 1.19.0rc1, 1.19.0rc1, 1.19.0rc1, 1.19.0rc2, 1.19.0rc2, 1.19.0rc2, 1.20.0rc1, 1.20.0rc1, 1.20.0rc1, 1.20.0rc2, 1.20.0rc2, 1.20.0rc2, 1.21.0rc1, 1.21.0rc1, 1.21.0rc1, 1.21.0rc2, 1.21.0rc2, 1.21.0rc2, 1.22.0rc1, 1.22.0rc1, 1.22.0rc2, 1.22.0rc2, 1.22.0rc3, 1.22.0rc3
There are incompatible versions in the resolved dependencies:
  numpy (from -r /tmp/pipenvwd_obk7xrequirements/pipenv-bomlu3ze-constraints.txt (line 5))
  numpy==1.17.3 (from -r /tmp/pipenvwd_obk7xrequirements/pipenv-bomlu3ze-constraints.txt (line 24))
  numpy (from climpyrical->-r /tmp/pipenvwd_obk7xrequirements/pipenv-bomlu3ze-constraints.txt (line 59))
  numpy (from nptyping==1.4.4->-r /tmp/pipenvwd_obk7xrequirements/pipenv-bomlu3ze-constraints.txt (line 21))
  numpy<1.25.0,>=1.17.3 (from scipy==1.8.0->-r /tmp/pipenvwd_obk7xrequirements/pipenv-bomlu3ze-constraints.txt (line 33))
  numpy>=1.14.6 (from scikit-learn==1.0.2->-r /tmp/pipenvwd_obk7xrequirements/pipenv-bomlu3ze-constraints.txt (line 47))
  numpy>=1.15 (from xarray==0.15.1->-r /tmp/pipenvwd_obk7xrequirements/pipenv-bomlu3ze-constraints.txt (line 15))
  numpy>=1.17 (from matplotlib==3.5.1->-r /tmp/pipenvwd_obk7xrequirements/pipenv-bomlu3ze-constraints.txt (line 30))
  numpy>=1.18.5 (from pandas==1.4.0->-r /tmp/pipenvwd_obk7xrequirements/pipenv-bomlu3ze-constraints.txt (line 12))
  numpy>=1.7 (from netcdf4==1.5.3->-r /tmp/pipenvwd_obk7xrequirements/pipenv-bomlu3ze-constraints.txt (line 13))
  numpy>=1.9.3 (from seaborn==0.9.0->-r /tmp/pipenvwd_obk7xrequirements/pipenv-bomlu3ze-constraints.txt (line 48))

Using pipenv lock --clear as suggested does not fix the problem (it recurs).

This project can still be installed with pipenv install ... so long as nothing in Pipfile is changed. This is presumably because Pipenv.lock, for lack of better terminology, froze a previously accessible situation, and that its contents are still valid. That formerly accessible situation is no longer accessible to pipenv install. That is, as noted above, it is no longer possible to generate an installation from Pipfile alone, nor to install anything else into the virtual environment (because that causes locking to occur and fail on this problem).

Task: Update Pipfile so that it is installable again. With the caveat that the app still has to work.

rod-glover commented 2 years ago

Replacing all package version specifiers in Pipenv with * makes it installable. This is a place to start.