New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Work with pip's --required-hashes mode which makes the requirements.txt format slightly different #3

Open
SEJeff opened this Issue Sep 18, 2017 · 0 comments

Comments

Projects
None yet
1 participant
@SEJeff

SEJeff commented Sep 18, 2017

When installing an application using pip's hash checking mode, picky doesn't recognize the format and errors:

$ pip install --require-hashes -r requirements.txt 
Collecting backports.ssl-match-hostname==3.4.0.2 (from -r requirements.txt (line 4))
  Downloading https://hangar/root/pypi/+f/788/214f20214c646/backports.ssl_match_hostname-3.4.0.2.tar.gz
Collecting betamax==0.8.0 (from -r requirements.txt (line 5))
  Downloading https://hangar/root/pypi/+f/bd6/a50096fa1f0ad/betamax-0.8.0-py2.py3-none-any.whl
Collecting betamax-serializers==0.2.0 (from -r requirements.txt (line 6))
  Downloading https://hangar/root/pypi/+f/37d/be828e4fe0b75/betamax_serializers-0.2.0-py2.py3-none-any.whl
Collecting cffi==1.10.0 (from -r requirements.txt (line 7))
  Downloading https://hangar/root/pypi/+f/690/c8442fd42350a/cffi-1.10.0-cp27-cp27mu-manylinux1_x86_64.whl (392kB)
    100% |████████████████████████████████| 399kB 54.7MB/s 
Collecting click==6.7 (from -r requirements.txt (line 8))
  Downloading https://hangar/root/pypi/+f/5e7/a4e296b3212da/click-6.7-py2.py3-none-any.whl (71kB)
    100% |████████████████████████████████| 71kB 49.5MB/s 
Collecting coverage==4.4.1 (from -r requirements.txt (line 9))
  Downloading https://hangar/root/pypi/+f/18d/91861f300dd41/coverage-4.4.1-cp27-cp27mu-manylinux1_x86_64.whl (193kB)
    100% |████████████████████████████████| 194kB 55.9MB/s 
Collecting Django==1.9.12 (from -r requirements.txt (line 10))
  Downloading https://hangar/root/pypi/+f/18e/3c04b58c0609b/Django-1.9.12-py2.py3-none-any.whl (6.6MB)
    100% |████████████████████████████████| 6.6MB 5.4MB/s 
Collecting django-auth-ldap==1.2.10 (from -r requirements.txt (line 11))
  Downloading https://hangar/root/pypi/+f/762/884dbdc719957/django_auth_ldap-1.2.10-py2-none-any.whl
Collecting django-extensions==1.8.1 (from -r requirements.txt (line 12))
  Downloading https://hangar/root/pypi/+f/3b7/58693f37992b5/django_extensions-1.8.1-py2.py3-none-any.whl (204kB)
    100% |████████████████████████████████| 204kB 32.9MB/s 
Collecting django-filter==1.0.4 (from -r requirements.txt (line 13))
  Downloading https://hangar/root/pypi/+f/505/764c7eae6c811/django_filter-1.0.4-py2.py3-none-any.whl (43kB)
    100% |████████████████████████████████| 51kB 45.5MB/s 
Collecting djangorestframework==3.3.3 (from -r requirements.txt (line 14))
  Downloading https://hangar/root/pypi/+f/e2f/d143f901ba780/djangorestframework-3.3.3-py2.py3-none-any.whl (662kB)
    100% |████████████████████████████████| 665kB 37.6MB/s 
Collecting djangorestframework-filters==0.10.1 (from -r requirements.txt (line 15))
  Downloading https://hangar/root/pypi/+f/188/144beb2bd50e9/djangorestframework-filters-0.10.1.tar.gz
Collecting django-rq==0.9.5 (from -r requirements.txt (line 16))
  Downloading https://hangar/root/pypi/+f/5fa/5353ba5d1b774/django_rq-0.9.5-py2.py3-none-any.whl
Collecting django-webpack-loader==0.3.0 (from -r requirements.txt (line 17))
  Downloading https://hangar/root/pypi/+f/441/a0c9f23a2cd50/django_webpack_loader-0.3.0-py2-none-any.whl
Collecting factory-boy==2.6.0 (from -r requirements.txt (line 18))
  Downloading https://hangar/jump/shared/+f/116/610a170918df3/factory_boy-2.6.0-py2.py3-none-any.whl
Collecting fake-factory==0.5.3 (from -r requirements.txt (line 19))
  Downloading https://hangar/jump/shared/+f/dae/e945d1a1cd1c2/fake_factory-0.5.3-py2.py3-none-any.whl (440kB)
    100% |████████████████████████████████| 440kB 49.3MB/s 
Collecting funcparserlib==0.3.6 (from -r requirements.txt (line 20))
  Downloading https://hangar/root/pypi/+f/3ab/a546bdad5d082/funcparserlib-0.3.6.tar.gz
Collecting funcsigs==1.0.2 (from -r requirements.txt (line 21))
  Downloading https://hangar/root/pypi/+f/701/d58358171f34b/funcsigs-1.0.2-py2.py3-none-any.whl
Collecting mock==2.0.0 (from -r requirements.txt (line 22))
  Downloading https://hangar/root/pypi/+f/dd5/ca80a263f2a9e/mock-2.0.0-py2.py3-none-any.whl (56kB)
    100% |████████████████████████████████| 61kB 49.3MB/s 
Collecting mockldap==0.2.8 (from -r requirements.txt (line 23))
  Downloading https://hangar/root/pypi/+f/120/ce4e36ce4bdda/mockldap-0.2.8-py2-none-any.whl
Collecting parsimonious==0.7.0 (from -r requirements.txt (line 24))
  Downloading https://hangar/root/pypi/+f/7fc/e85c276a07066/parsimonious-0.7.0.tar.gz
Collecting pbr==3.1.1 (from -r requirements.txt (line 25))
  Downloading https://hangar/root/pypi/+f/75a/0f55856bfc922/pbr-3.1.1-py2.py3-none-any.whl (99kB)
    100% |████████████████████████████████| 102kB 46.3MB/s 
Requirement already satisfied: picky==0.9.2 in ./ve/lib/python2.7/site-packages (from -r requirements.txt (line 26))
Collecting psycopg2==2.7.1 (from -r requirements.txt (line 27))
  Downloading https://hangar/root/pypi/+f/ad0/13c850f8f7dbb/psycopg2-2.7.1-cp27-cp27mu-manylinux1_x86_64.whl (2.7MB)
    100% |████████████████████████████████| 2.7MB 24.7MB/s 
Collecting py==1.4.34 (from -r requirements.txt (line 28))
  Downloading https://hangar/root/pypi/+f/0cb/02dbd9cf647f9/py-1.4.34-py2.py3-none-any.whl (84kB)
    100% |████████████████████████████████| 92kB 57.2MB/s 
Collecting pycparser==2.17 (from -r requirements.txt (line 29))
  Downloading https://hangar/jump/shared/+f/78e/b89cc049e4f12/pycparser-2.17-py2.py3-none-any.whl (197kB)
    100% |████████████████████████████████| 204kB 54.3MB/s 
Collecting pyOpenSSL==16.2.0 (from -r requirements.txt (line 30))
  Downloading https://hangar/root/pypi/+f/7c8/7cf718171f736/pyOpenSSL-16.2.0-py2.py3-none-any.whl (43kB)
    100% |████████████████████████████████| 51kB 45.5MB/s 
Collecting pytest==3.2.1 (from -r requirements.txt (line 31))
  Downloading https://hangar/root/pypi/+f/4aa/9b46eb6557e1d/pytest-3.2.1-py2.py3-none-any.whl (186kB)
    100% |████████████████████████████████| 194kB 60.4MB/s 
Collecting pytest-django==3.1.2 (from -r requirements.txt (line 32))
  Downloading https://hangar/root/pypi/+f/f60/967eeba178cc9/pytest_django-3.1.2-py2.py3-none-any.whl
Collecting python-dateutil==1.5 (from -r requirements.txt (line 33))
  Downloading https://hangar/root/pypi/+f/0dc/b1de5e5cad694/python-dateutil-1.5.tar.gz (233kB)
    100% |████████████████████████████████| 235kB 58.7MB/s 
Collecting python-ldap==2.4.32 (from -r requirements.txt (line 34))
  Downloading https://hangar/jump/shared/+f/035/8ffcdfbcf2a32/python_ldap-2.4.32-cp27-none-linux_x86_64.whl (249kB)
    100% |████████████████████████████████| 256kB 40.5MB/s 
Collecting pytz==2017.2 (from -r requirements.txt (line 35))
  Downloading https://hangar/root/pypi/+f/84b/cac3df0fdd58a/pytz-2017.2-py2.py3-none-any.whl (484kB)
    100% |████████████████████████████████| 491kB 56.6MB/s 
Collecting redis==2.10.6 (from -r requirements.txt (line 36))
  Downloading https://hangar/root/pypi/+f/7d6/26abf2468ad32/redis-2.10.6-py2.py3-none-any.whl (64kB)
    100% |████████████████████████████████| 71kB 51.5MB/s 
Collecting requests==2.13.0 (from -r requirements.txt (line 37))
  Downloading https://hangar/root/pypi/+f/5e4/32dcf5bd1e340/requests-2.13.0-py2.py3-none-any.whl (584kB)
    100% |████████████████████████████████| 593kB 58.1MB/s 
Collecting rq==0.8.1 (from -r requirements.txt (line 38))
  Downloading https://hangar/root/pypi/+f/fdd/35cfe3217b36e/rq-0.8.1-py2.py3-none-any.whl (52kB)
    100% |████████████████████████████████| 61kB 49.9MB/s 
Collecting six==1.10.0 (from -r requirements.txt (line 39))
  Downloading https://hangar/jump/shared/+f/0ff/78c403d9bccf5/six-1.10.0-py2.py3-none-any.whl
Collecting sockpuppet==0.2.0 (from -r requirements.txt (line 40))
  Downloading https://hangar/root/pypi/+f/aa2/009f7bda1b61f/sockpuppet-0.2.0.tar.gz
Collecting testfixtures==5.2.0 (from -r requirements.txt (line 41))
  Downloading https://hangar/root/pypi/+f/366/f9e030cfb5611/testfixtures-5.2.0-py2.py3-none-any.whl (74kB)
    100% |████████████████████████████████| 81kB 31.6MB/s 
Collecting uWSGI==2.0.7 (from -r requirements.txt (line 42))
  Downloading https://hangar/jump/shared/+f/dc9/89af067205473/uWSGI-2.0.7-py2-none-any.whl (522kB)
    100% |████████████████████████████████| 532kB 57.8MB/s 
Requirement already satisfied: cryptography>=1.3.4 in ./ve/lib/python2.7/site-packages (from pyOpenSSL==16.2.0->-r requirements.txt (line 30))
Requirement already satisfied: setuptools in ./ve/lib/python2.7/site-packages (from pytest==3.2.1->-r requirements.txt (line 31))
Requirement already satisfied: idna>=2.1 in ./ve/lib/python2.7/site-packages (from cryptography>=1.3.4->pyOpenSSL==16.2.0->-r requirements.txt (line 30))
Requirement already satisfied: ipaddress in ./ve/lib/python2.7/site-packages (from cryptography>=1.3.4->pyOpenSSL==16.2.0->-r requirements.txt (line 30))
Requirement already satisfied: asn1crypto>=0.21.0 in ./ve/lib/python2.7/site-packages (from cryptography>=1.3.4->pyOpenSSL==16.2.0->-r requirements.txt (line 30))
Requirement already satisfied: enum34 in ./ve/lib/python2.7/site-packages (from cryptography>=1.3.4->pyOpenSSL==16.2.0->-r requirements.txt (line 30))
Building wheels for collected packages: backports.ssl-match-hostname, djangorestframework-filters, funcparserlib, parsimonious, python-dateutil, sockpuppet
  Running setup.py bdist_wheel for backports.ssl-match-hostname ... done
  Stored in directory: /home/jschroeder/.cache/pip/wheels/ac/b6/33/7b39e8499a2a1a5ed9ede916d32e83157b1445cf4dc6fd10f8
  Running setup.py bdist_wheel for djangorestframework-filters ... done
  Stored in directory: /home/jschroeder/.cache/pip/wheels/29/65/87/c3a35b7f1a5aad6b15b5cd0a0030cd377ce88e35be41c2fbc5
  Running setup.py bdist_wheel for funcparserlib ... done
  Stored in directory: /home/jschroeder/.cache/pip/wheels/6c/2b/aa/632383790e1d3b8968b27418d69fa3fff253392f19ec7e4cee
  Running setup.py bdist_wheel for parsimonious ... done
  Stored in directory: /home/jschroeder/.cache/pip/wheels/4f/5f/ee/0b2311ca39d1edeecc3596f5e5a51eb34856dfd54867871703
  Running setup.py bdist_wheel for python-dateutil ... done
  Stored in directory: /home/jschroeder/.cache/pip/wheels/9c/ef/b4/26b482ce81b7cb9d91c73d782465e327685df0e48920d3d04d
  Running setup.py bdist_wheel for sockpuppet ... done
  Stored in directory: /home/jschroeder/.cache/pip/wheels/51/32/9b/6bbdb5f1d91d9299ee8d7ec6440795f14eb33b1b09d9b685f4
Successfully built backports.ssl-match-hostname djangorestframework-filters funcparserlib parsimonious python-dateutil sockpuppet
Installing collected packages: backports.ssl-match-hostname, requests, betamax, betamax-serializers, pycparser, cffi, click, coverage, Django, python-ldap, django-auth-ldap, six, django-extensions, django-filter, djangorestframework, djangorestframework-filters, redis, rq, django-rq, django-webpack-loader, fake-factory, factory-boy, funcparserlib, funcsigs, pbr, mock, mockldap, parsimonious, psycopg2, py, pyOpenSSL, pytest, pytest-django, python-dateutil, pytz, sockpuppet, testfixtures, uWSGI
  Found existing installation: pycparser 2.14
    Uninstalling pycparser-2.14:
      Successfully uninstalled pycparser-2.14
  Found existing installation: cffi 1.11.0
    Uninstalling cffi-1.11.0:
      Successfully uninstalled cffi-1.11.0
  Found existing installation: six 1.11.0
    Uninstalling six-1.11.0:
      Successfully uninstalled six-1.11.0
  Found existing installation: pyOpenSSL 0.15.1
    Uninstalling pyOpenSSL-0.15.1:
      Successfully uninstalled pyOpenSSL-0.15.1
Successfully installed Django-1.9.12 backports.ssl-match-hostname-3.4.0.2 betamax-0.8.0 betamax-serializers-0.2.0 cffi-1.10.0 click-6.7 coverage-4.4.1 django-auth-ldap-1.2.10 django-extensions-1.8.1 django-filter-1.0.4 django-rq-0.9.5 django-webpack-loader-0.3.0 djangorestframework-3.3.3 djangorestframework-filters-0.10.1 factory-boy-2.6.0 fake-factory-0.5.3 funcparserlib-0.3.6 funcsigs-1.0.2 mock-2.0.0 mockldap-0.2.8 parsimonious-0.7.0 pbr-3.1.1 psycopg2-2.7.1 py-1.4.34 pyOpenSSL-16.2.0 pycparser-2.17 pytest-3.2.1 pytest-django-3.1.2 python-dateutil-1.5 python-ldap-2.4.32 pytz-2017.2 redis-2.10.6 requests-2.13.0 rq-0.8.1 six-1.10.0 sockpuppet-0.2.0 testfixtures-5.2.0 uWSGI-2.0.7

Here is the requirements.txt:

backports.ssl-match-hostname==3.4.0.2 --hash=sha256:07410e7fb09aab7bdaf5e618de66c3dac84e2e3d628352814dc4c37de321d6ae
betamax==0.8.0 --hash=sha256:91d5f6ca6b03901df93f9c0c2ac7fe1a0ff557bd6f30124ec73cefae00fc14a2
betamax-serializers==0.2.0 --hash=sha256:c7c4bd96f71d763debbec21e09bea932613cf651c2055514e6fd889358a46e3e
cffi==1.10.0 --hash=sha256:c49187260043bd4c1d6a52186f9774f17d9b1da0a406798ebf4bfc12da166ade
click==6.7 --hash=sha256:29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d
coverage==4.4.1 --hash=sha256:381be5d31d3f0d912334cf2c159bc7bea6bfe6b0e3df6061a3bf2bf88359b1f6
Django==1.9.12 --hash=sha256:a59f85a2b007145006915f6134ec3b9c09e68e4377e0a6fd3529d6c56d6aeb04
django-auth-ldap==1.2.10 --hash=sha256:038b12c52f71ca6deec1fc6bbb0795ce516bad74dcb3399f2fab1aec9b30dce6
django-extensions==1.8.1 --hash=sha256:b29373cc2dd087d978166c2183f272db77a0dace565ba6393bbffed7ce7344aa
django-filter==1.0.4 --hash=sha256:6ef1611aeacfda8f13a075a992ff65687afbd5cc8fcb0f3f1563a9ad4fe2d1b0
djangorestframework==3.3.3 --hash=sha256:4f47056ad798103fc9fb049dff8a67a91963bd215d31bad12ad72b891559ab16
djangorestframework-filters==0.10.1 --hash=sha256:87a292cb884117b7c142125460230f88d6928c427e69f645b8287e303cf03d30
django-rq==0.9.5 --hash=sha256:33f9cb5d26b6cb3d2d7f8b25494b4985e09227cb80058627443bdb6bdb99e1db
django-webpack-loader==0.3.0 --hash=sha256:d07551285bb15db68c26c11c15051fb74dde8a311562e8ed1d36df1160371a47
factory-boy==2.6.0 --hash=sha256:116610a170918df342db2c4bafbc8f4b91780c49878f929d89e360f10ad29d2a
fake-factory==0.5.3 --hash=sha256:daee945d1a1cd1c289a5fb6c68b4afa72841a09fef017d1f5151bbf64d79e840
funcparserlib==0.3.6 --hash=sha256:b7992eac1a3eb97b3d91faa342bfda0729e990bd8a43774c1592c091e563c91d
funcsigs==1.0.2 --hash=sha256:330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca
mock==2.0.0 --hash=sha256:5ce3c71c5545b472da17b72268978914d0252980348636840bd34a00b5cc96c1
mockldap==0.2.8 --hash=sha256:57ef5a5e9b8d7314adc66c415c3f55b067313f57a5aa3a6b0ec2bb8cae7f4370
parsimonious==0.7.0 --hash=sha256:396d424f64f834f9463e81ba79a331661507a21f1ed7b644f7f6a744006fd938
pbr==3.1.1 --hash=sha256:60c25b7dfd054ef9bb0ae327af949dd4676aa09ac3a9471cdc871d8a9213f9ac
picky==0.9.2 --hash=sha256:94c6355e4d2ad06eb0dcd87302d4f3cd11fe7f72c34db1f829ad822eb6603a40
psycopg2==2.7.1 --hash=sha256:bf48be2d01f6e34e5fbd8976f7b66158a83a33b92739acd13fc1934c60b71cfb
py==1.4.34 --hash=sha256:2ccb79b01769d99115aa600d7eed99f524bf752bba8f041dc1c184853514655a
pycparser==2.17 --hash=sha256:78eb89cc049e4f12fb503313b961c99d0aca8da1833fc6898370eff39184416e
pyOpenSSL==16.2.0 --hash=sha256:26ca380ddf272f7556e48064bbcd5bd71f83dfc144f3583501c7ddbd9434ee17
pytest==3.2.1 --hash=sha256:82c1e44a964ec5922c7c3891787df31c8c4f18b6c97a722df56b6cf20bb38c8a
pytest-django==3.1.2 --hash=sha256:00995c2999b884a38ae9cd30a8c00ed32b3d38c1041250ea84caf18085589662
python-dateutil==1.5 --hash=sha256:6f197348b46fb8cdf9f3fcfc2a7d5a97da95db3e2e8667cf657216274fe1b009
python-ldap==2.4.32 --hash=sha256:0358ffcdfbcf2a327a1b7ccaac78a274bf427e29b989fa1b2dfd914182ad1c1f
pytz==2017.2 --hash=sha256:d1d6729c85acea5423671382868627129432fba9a89ecbb248d8d1c7a9f01c67
redis==2.10.6 --hash=sha256:8a1900a9f2a0a44ecf6e8b5eb3e967a9909dfed219ad66df094f27f7d6f330fb
requests==2.13.0 --hash=sha256:1a720e8862a41aa22e339373b526f508ef0c8988baf48b84d3fc891a8e237efb
rq==0.8.1 --hash=sha256:abb8d79b29b023f0119f23dd0227845e008dd91175aac657ad4151a38c608046
six==1.10.0 --hash=sha256:0ff78c403d9bccf5a425a6d31a12aa6b47f1c21ca4dc2573a7e2f32a97335eb1
sockpuppet==0.2.0 --hash=sha256:f4e3a3fbf0ce29f2f219ba99ec3ea0d8c20b7ec267f45dab2a5bc0bae3f50823
testfixtures==5.2.0 --hash=sha256:6a85faa732ab9c2f2ac763775b4348f4d7fd2b9093d8cdb2324ed03b3770ee81
uWSGI==2.0.7 --hash=sha256:dc989af0672054733e84c053a4493af0044345f79b135dc1dc30dbb19404dd3a

Picky erroring out:

$ picky
asn1crypto 0.22.0 missing from requirements.txt
cryptography 2.0.3 missing from requirements.txt
enum34 1.1.6 missing from requirements.txt
idna 2.6 missing from requirements.txt
ipaddress 1.0.18 missing from requirements.txt
ndg-httpsclient 0.4.0 missing from requirements.txt
pyasn1 0.1.9 missing from requirements.txt
Django 1.9.12 in pip freeze but 1.9.12 --hash=sha256:a59f85a2b007145006915f6134ec3b9c09e68e4377e0a6fd3529d6c56d6aeb04 in requirements.txt
backports.ssl-match-hostname 3.4.0.2 in pip freeze but 3.4.0.2 --hash=sha256:07410e7fb09aab7bdaf5e618de66c3dac84e2e3d628352814dc4c37de321d6ae in requirements.txt
betamax 0.8.0 in pip freeze but 0.8.0 --hash=sha256:91d5f6ca6b03901df93f9c0c2ac7fe1a0ff557bd6f30124ec73cefae00fc14a2 in requirements.txt
betamax-serializers 0.2.0 in pip freeze but 0.2.0 --hash=sha256:c7c4bd96f71d763debbec21e09bea932613cf651c2055514e6fd889358a46e3e in requirements.txt
cffi 1.10.0 in pip freeze but 1.10.0 --hash=sha256:c49187260043bd4c1d6a52186f9774f17d9b1da0a406798ebf4bfc12da166ade in requirements.txt
click 6.7 in pip freeze but 6.7 --hash=sha256:29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d in requirements.txt
coverage 4.4.1 in pip freeze but 4.4.1 --hash=sha256:381be5d31d3f0d912334cf2c159bc7bea6bfe6b0e3df6061a3bf2bf88359b1f6 in requirements.txt
django-auth-ldap 1.2.10 in pip freeze but 1.2.10 --hash=sha256:038b12c52f71ca6deec1fc6bbb0795ce516bad74dcb3399f2fab1aec9b30dce6 in requirements.txt
django-extensions 1.8.1 in pip freeze but 1.8.1 --hash=sha256:b29373cc2dd087d978166c2183f272db77a0dace565ba6393bbffed7ce7344aa in requirements.txt
django-filter 1.0.4 in pip freeze but 1.0.4 --hash=sha256:6ef1611aeacfda8f13a075a992ff65687afbd5cc8fcb0f3f1563a9ad4fe2d1b0 in requirements.txt
django-rq 0.9.5 in pip freeze but 0.9.5 --hash=sha256:33f9cb5d26b6cb3d2d7f8b25494b4985e09227cb80058627443bdb6bdb99e1db in requirements.txt
django-webpack-loader 0.3.0 in pip freeze but 0.3.0 --hash=sha256:d07551285bb15db68c26c11c15051fb74dde8a311562e8ed1d36df1160371a47 in requirements.txt
djangorestframework 3.3.3 in pip freeze but 3.3.3 --hash=sha256:4f47056ad798103fc9fb049dff8a67a91963bd215d31bad12ad72b891559ab16 in requirements.txt
djangorestframework-filters 0.10.1 in pip freeze but 0.10.1 --hash=sha256:87a292cb884117b7c142125460230f88d6928c427e69f645b8287e303cf03d30 in requirements.txt
factory-boy 2.6.0 in pip freeze but 2.6.0 --hash=sha256:116610a170918df342db2c4bafbc8f4b91780c49878f929d89e360f10ad29d2a in requirements.txt
fake-factory 0.5.3 in pip freeze but 0.5.3 --hash=sha256:daee945d1a1cd1c289a5fb6c68b4afa72841a09fef017d1f5151bbf64d79e840 in requirements.txt
funcparserlib 0.3.6 in pip freeze but 0.3.6 --hash=sha256:b7992eac1a3eb97b3d91faa342bfda0729e990bd8a43774c1592c091e563c91d in requirements.txt
funcsigs 1.0.2 in pip freeze but 1.0.2 --hash=sha256:330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca in requirements.txt
mock 2.0.0 in pip freeze but 2.0.0 --hash=sha256:5ce3c71c5545b472da17b72268978914d0252980348636840bd34a00b5cc96c1 in requirements.txt
mockldap 0.2.8 in pip freeze but 0.2.8 --hash=sha256:57ef5a5e9b8d7314adc66c415c3f55b067313f57a5aa3a6b0ec2bb8cae7f4370 in requirements.txt
parsimonious 0.7.0 in pip freeze but 0.7.0 --hash=sha256:396d424f64f834f9463e81ba79a331661507a21f1ed7b644f7f6a744006fd938 in requirements.txt
pbr 3.1.1 in pip freeze but 3.1.1 --hash=sha256:60c25b7dfd054ef9bb0ae327af949dd4676aa09ac3a9471cdc871d8a9213f9ac in requirements.txt
picky 0.9.2 in pip freeze but 0.9.2 --hash=sha256:94c6355e4d2ad06eb0dcd87302d4f3cd11fe7f72c34db1f829ad822eb6603a40 in requirements.txt
psycopg2 2.7.1 in pip freeze but 2.7.1 --hash=sha256:bf48be2d01f6e34e5fbd8976f7b66158a83a33b92739acd13fc1934c60b71cfb in requirements.txt
py 1.4.34 in pip freeze but 1.4.34 --hash=sha256:2ccb79b01769d99115aa600d7eed99f524bf752bba8f041dc1c184853514655a in requirements.txt
pyOpenSSL 16.2.0 in pip freeze but 16.2.0 --hash=sha256:26ca380ddf272f7556e48064bbcd5bd71f83dfc144f3583501c7ddbd9434ee17 in requirements.txt
pycparser 2.17 in pip freeze but 2.17 --hash=sha256:78eb89cc049e4f12fb503313b961c99d0aca8da1833fc6898370eff39184416e in requirements.txt
pytest 3.2.1 in pip freeze but 3.2.1 --hash=sha256:82c1e44a964ec5922c7c3891787df31c8c4f18b6c97a722df56b6cf20bb38c8a in requirements.txt
pytest-django 3.1.2 in pip freeze but 3.1.2 --hash=sha256:00995c2999b884a38ae9cd30a8c00ed32b3d38c1041250ea84caf18085589662 in requirements.txt
python-dateutil 1.5 in pip freeze but 1.5 --hash=sha256:6f197348b46fb8cdf9f3fcfc2a7d5a97da95db3e2e8667cf657216274fe1b009 in requirements.txt
python-ldap 2.4.32 in pip freeze but 2.4.32 --hash=sha256:0358ffcdfbcf2a327a1b7ccaac78a274bf427e29b989fa1b2dfd914182ad1c1f in requirements.txt
pytz 2017.2 in pip freeze but 2017.2 --hash=sha256:d1d6729c85acea5423671382868627129432fba9a89ecbb248d8d1c7a9f01c67 in requirements.txt
redis 2.10.6 in pip freeze but 2.10.6 --hash=sha256:8a1900a9f2a0a44ecf6e8b5eb3e967a9909dfed219ad66df094f27f7d6f330fb in requirements.txt
requests 2.13.0 in pip freeze but 2.13.0 --hash=sha256:1a720e8862a41aa22e339373b526f508ef0c8988baf48b84d3fc891a8e237efb in requirements.txt
rq 0.8.1 in pip freeze but 0.8.1 --hash=sha256:abb8d79b29b023f0119f23dd0227845e008dd91175aac657ad4151a38c608046 in requirements.txt
six 1.10.0 in pip freeze but 1.10.0 --hash=sha256:0ff78c403d9bccf5a425a6d31a12aa6b47f1c21ca4dc2573a7e2f32a97335eb1 in requirements.txt
sockpuppet 0.2.0 in pip freeze but 0.2.0 --hash=sha256:f4e3a3fbf0ce29f2f219ba99ec3ea0d8c20b7ec267f45dab2a5bc0bae3f50823 in requirements.txt
testfixtures 5.2.0 in pip freeze but 5.2.0 --hash=sha256:6a85faa732ab9c2f2ac763775b4348f4d7fd2b9093d8cdb2324ed03b3770ee81 in requirements.txt
uWSGI 2.0.7 in pip freeze but 2.0.7 --hash=sha256:dc989af0672054733e84c053a4493af0044345f79b135dc1dc30dbb19404dd3a in requirements.txt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment