Skip to content
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

Python3.6 app package includes future dependency (which is aimed at python 2.x code) #285

Closed
lestephane opened this issue Nov 21, 2018 · 3 comments

Comments

@lestephane
Copy link

Maybe this is just me missing something, but my python3.6 app zip contains a 1.5 mb future dependency, which seems to be pulled in transitively by python-jose.

My requirements.txt does not contain future, it only comes through python-jose:

boto3==1.9.15
bottle==0.12.13
python-jose==3.0.1
geopy==1.17.0
ipynb==0.5.1

It feels like future should be automatically excluded by packaging when deploying a python 3.x app. future is only meant to be used by python 2.x apps, right? I'm a python beginner, so maybe i'm missing something here. I came here because this 'unused' future library constitutes the bulk of my zip.

serverless-python-requirements already excludes boto3 from the zip, because boto3 is already present in aws. Why not excluding future when runtime: python3.6?

@dschep
Copy link
Contributor

dschep commented Nov 22, 2018

Could you share the relevant parts of your sls yaml please & OS/node/serverless version info?

This shouldn't happen if the deps are bundled with a python 3 version of pip

@lestephane
Copy link
Author

versions

$ workon sls

(sls) $ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"

(sls) $ pip --version | sed -e "s+$HOME+\~+g"
pip 18.1 from ~/.virtualenvs/sls/lib/python3.6/site-packages/pip (python 3.6)

(sls) $ uname --all | sed -e "s+$(hostname)+host+g"
Linux host 4.15.0-39-generic #42~16.04.1-Ubuntu SMP Wed Oct 24 17:09:54 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

(sls) $ echo "$(node --version) from $(which node)" | sed -e "s+$HOME+\~+g"
v10.13.0 from ~/.virtualenvs/sls/bin/node

(sls) $ echo "$(npm --version) from $(which npm)" | sed -e "s+$HOME+\~+g"
6.4.1 from ~/.virtualenvs/sls/bin/npm

(sls) $ echo "$(sls --version) from $(which sls)" | sed -e "s+$HOME+\~+g"
1.33.2 from ~/.virtualenvs/sls/bin/sls

requirements.txt

(sls) $ cat requirements.txt 
boto3==1.9.15
bottle==0.12.13
python-jose==3.0.1
geopy==1.17.0
ipynb==0.5.1

serverless.yml

# https://www.missioncloud.com/blog/going-serverless-with-python-wsgi-apps/

service: service

plugins:
  - serverless-wsgi
  - serverless-python-requirements

custom:
  wsgi:
    app: webapp.main.app
    packRequirements: false

provider:
  name: aws
  runtime: python3.6
  region: us-east-1

functions:
  webapp:
    handler: wsgi.handler
    events:
      - http: ANY /
      - http: 'ANY {proxy+}'

what happens

(sls) $ rm -r .serverless/
(sls) $ sls package | sed -e "s+$HOME+\~+g"
Serverless: Using Python specified in "runtime": python3.6
Serverless: Packaging Python WSGI handler...
Serverless: Generated requirements from ~/GitRepos/geominder-app/requirements.txt in ~/GitRepos/geominder-app/.serverless/requirements.txt...
Serverless: Installing requirements from ~/GitRepos/geominder-app/.serverless/requirements/requirements.txt ...
Serverless: Packaging service...
Serverless: Excluding development dependencies...
Serverless: Injecting required Python packages to package...
(sls) $ ls -la .serverless/service.zip 
-rw-rw-r-- 1 lestephane lestephane 2196126 Nov 22 11:58 .serverless/service.zip
(sls) $ unzip -l .serverless/service.zip "future/*"
Archive:  .serverless/service.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2018-11-22 09:58   future/
     2967  2098-01-01 00:00   future/__init__.py
        0  2018-11-22 09:58   future/__pycache__/
     3078  2098-01-01 00:00   future/__pycache__/__init__.cpython-36.pyc
        0  2018-11-22 09:58   future/backports/
      530  2098-01-01 00:00   future/backports/__init__.py
        0  2018-11-22 09:58   future/backports/__pycache__/
      601  2098-01-01 00:00   future/backports/__pycache__/__init__.cpython-36.pyc
     2241  2098-01-01 00:00   future/backports/__pycache__/total_ordering.cpython-36.pyc
        0  2018-11-22 09:58   future/backports/email/
        0  2018-11-22 09:58   future/backports/email/__pycache__/
     2019  2098-01-01 00:00   future/backports/email/__pycache__/__init__.cpython-36.pyc
     2269  2098-01-01 00:00   future/backports/email/__init__.py
     6085  2098-01-01 00:00   future/backports/email/__pycache__/_encoded_words.cpython-36.pyc
     3438  2098-01-01 00:00   future/backports/email/__pycache__/base64mime.cpython-36.pyc
     2168  2098-01-01 00:00   future/backports/email/__pycache__/encoders.cpython-36.pyc
     6156  2098-01-01 00:00   future/backports/email/__pycache__/errors.cpython-36.pyc
     2140  2098-01-01 00:00   future/backports/email/__pycache__/iterators.cpython-36.pyc
     6025  2098-01-01 00:00   future/backports/email/__pycache__/parser.cpython-36.pyc
     3729  2098-01-01 00:00   future/backports/email/base64mime.py
     2800  2098-01-01 00:00   future/backports/email/encoders.py
     3680  2098-01-01 00:00   future/backports/email/errors.py
     2348  2098-01-01 00:00   future/backports/email/iterators.py
        0  2018-11-22 09:58   future/backports/email/mime/
        0  2018-11-22 09:58   future/backports/email/mime/__pycache__/
      155  2098-01-01 00:00   future/backports/email/mime/__pycache__/__init__.cpython-36.pyc
     1584  2098-01-01 00:00   future/backports/email/mime/__pycache__/application.cpython-36.pyc
        0  2098-01-01 00:00   future/backports/email/mime/__init__.py
     2743  2098-01-01 00:00   future/backports/email/mime/__pycache__/audio.cpython-36.pyc
     1108  2098-01-01 00:00   future/backports/email/mime/__pycache__/base.cpython-36.pyc
     2029  2098-01-01 00:00   future/backports/email/mime/__pycache__/image.cpython-36.pyc
     1462  2098-01-01 00:00   future/backports/email/mime/__pycache__/message.cpython-36.pyc
     1663  2098-01-01 00:00   future/backports/email/mime/__pycache__/multipart.cpython-36.pyc
      929  2098-01-01 00:00   future/backports/email/mime/__pycache__/nonmultipart.cpython-36.pyc
     1443  2098-01-01 00:00   future/backports/email/mime/__pycache__/text.cpython-36.pyc
     1401  2098-01-01 00:00   future/backports/email/mime/application.py
     2815  2098-01-01 00:00   future/backports/email/mime/audio.py
      875  2098-01-01 00:00   future/backports/email/mime/base.py
     1907  2098-01-01 00:00   future/backports/email/mime/image.py
     1429  2098-01-01 00:00   future/backports/email/mime/message.py
     1699  2098-01-01 00:00   future/backports/email/mime/multipart.py
      832  2098-01-01 00:00   future/backports/email/mime/nonmultipart.py
     1552  2098-01-01 00:00   future/backports/email/mime/text.py
     5312  2098-01-01 00:00   future/backports/email/parser.py
        0  2018-11-22 09:58   future/backports/html/
      924  2098-01-01 00:00   future/backports/html/__init__.py
        0  2018-11-22 09:58   future/backports/html/__pycache__/
     1019  2098-01-01 00:00   future/backports/html/__pycache__/__init__.cpython-36.pyc
        0  2018-11-22 09:58   future/backports/http/
        0  2098-01-01 00:00   future/backports/http/__init__.py
        0  2018-11-22 09:58   future/backports/http/__pycache__/
      149  2098-01-01 00:00   future/backports/http/__pycache__/__init__.cpython-36.pyc
        0  2018-11-22 09:58   future/backports/test/
        0  2018-11-22 09:58   future/backports/test/__pycache__/
      421  2098-01-01 00:00   future/backports/test/__pycache__/__init__.cpython-36.pyc
      264  2098-01-01 00:00   future/backports/test/__init__.py
     6673  2098-01-01 00:00   future/backports/test/__pycache__/pystone.cpython-36.pyc
     6963  2098-01-01 00:00   future/backports/test/__pycache__/ssl_servers.cpython-36.pyc
     1928  2098-01-01 00:00   future/backports/test/badcert.pem
     2162  2098-01-01 00:00   future/backports/test/badkey.pem
      402  2098-01-01 00:00   future/backports/test/dh512.pem
     2569  2098-01-01 00:00   future/backports/test/https_svn_python_org_root.pem
     1830  2098-01-01 00:00   future/backports/test/keycert.passwd.pem
     1795  2098-01-01 00:00   future/backports/test/keycert2.pem
     1923  2098-01-01 00:00   future/backports/test/nokia.pem
     1783  2098-01-01 00:00   future/backports/test/keycert.pem
     5435  2098-01-01 00:00   future/backports/test/nullbytecert.pem
        0  2098-01-01 00:00   future/backports/test/nullcert.pem
     7427  2098-01-01 00:00   future/backports/test/pystone.py
      867  2098-01-01 00:00   future/backports/test/ssl_cert.pem
      963  2098-01-01 00:00   future/backports/test/ssl_key.passwd.pem
      916  2098-01-01 00:00   future/backports/test/ssl_key.pem
     7209  2098-01-01 00:00   future/backports/test/ssl_servers.py
     1929  2098-01-01 00:00   future/backports/total_ordering.py
        0  2018-11-22 09:58   future/backports/urllib/
        0  2018-11-22 09:58   future/backports/urllib/__pycache__/
      151  2098-01-01 00:00   future/backports/urllib/__pycache__/__init__.cpython-36.pyc
     2588  2098-01-01 00:00   future/backports/urllib/__pycache__/error.cpython-36.pyc
        0  2098-01-01 00:00   future/backports/urllib/__init__.py
     6053  2098-01-01 00:00   future/backports/urllib/__pycache__/robotparser.cpython-36.pyc
     3808  2098-01-01 00:00   future/backports/urllib/__pycache__/response.cpython-36.pyc
     2715  2098-01-01 00:00   future/backports/urllib/error.py
     6865  2098-01-01 00:00   future/backports/urllib/robotparser.py
     3180  2098-01-01 00:00   future/backports/urllib/response.py
        0  2018-11-22 09:58   future/backports/xmlrpc/
       38  2098-01-01 00:00   future/backports/xmlrpc/__init__.py
        0  2018-11-22 09:58   future/backports/xmlrpc/__pycache__/
      151  2098-01-01 00:00   future/backports/xmlrpc/__pycache__/__init__.cpython-36.pyc
        0  2018-11-22 09:58   future/builtins/
     1664  2098-01-01 00:00   future/builtins/__init__.py
        0  2018-11-22 09:58   future/builtins/__pycache__/
     2331  2098-01-01 00:00   future/builtins/__pycache__/disabled.cpython-36.pyc
     1213  2098-01-01 00:00   future/builtins/__pycache__/__init__.cpython-36.pyc
     1974  2098-01-01 00:00   future/builtins/__pycache__/newnext.cpython-36.pyc
     1486  2098-01-01 00:00   future/builtins/__pycache__/iterators.cpython-36.pyc
     2756  2098-01-01 00:00   future/builtins/__pycache__/misc.cpython-36.pyc
     2746  2098-01-01 00:00   future/builtins/__pycache__/newround.cpython-36.pyc
     2109  2098-01-01 00:00   future/builtins/disabled.py
     2823  2098-01-01 00:00   future/builtins/__pycache__/newsuper.cpython-36.pyc
     2009  2098-01-01 00:00   future/builtins/newnext.py
     3096  2098-01-01 00:00   future/builtins/newround.py
     1396  2098-01-01 00:00   future/builtins/iterators.py
     4087  2098-01-01 00:00   future/builtins/misc.py
     4146  2098-01-01 00:00   future/builtins/newsuper.py
        0  2018-11-22 09:58   future/moves/
      220  2098-01-01 00:00   future/moves/__init__.py
        0  2018-11-22 09:58   future/moves/__pycache__/
      323  2098-01-01 00:00   future/moves/__pycache__/_dummy_thread.cpython-36.pyc
      346  2098-01-01 00:00   future/moves/__pycache__/__init__.cpython-36.pyc
      317  2098-01-01 00:00   future/moves/__pycache__/_markupbase.cpython-36.pyc
      305  2098-01-01 00:00   future/moves/__pycache__/_thread.cpython-36.pyc
      599  2098-01-01 00:00   future/moves/__pycache__/collections.cpython-36.pyc
      295  2098-01-01 00:00   future/moves/__pycache__/configparser.cpython-36.pyc
      307  2098-01-01 00:00   future/moves/__pycache__/copyreg.cpython-36.pyc
      339  2098-01-01 00:00   future/moves/__pycache__/builtins.cpython-36.pyc
      326  2098-01-01 00:00   future/moves/__pycache__/itertools.cpython-36.pyc
      357  2098-01-01 00:00   future/moves/__pycache__/pickle.cpython-36.pyc
      300  2098-01-01 00:00   future/moves/__pycache__/queue.cpython-36.pyc
      321  2098-01-01 00:00   future/moves/__pycache__/socketserver.cpython-36.pyc
      303  2098-01-01 00:00   future/moves/__pycache__/reprlib.cpython-36.pyc
      293  2098-01-01 00:00   future/moves/__pycache__/sys.cpython-36.pyc
      438  2098-01-01 00:00   future/moves/__pycache__/subprocess.cpython-36.pyc
      304  2098-01-01 00:00   future/moves/__pycache__/winreg.cpython-36.pyc
      171  2098-01-01 00:00   future/moves/_markupbase.py
      175  2098-01-01 00:00   future/moves/_dummy_thread.py
      163  2098-01-01 00:00   future/moves/_thread.py
      281  2098-01-01 00:00   future/moves/builtins.py
      417  2098-01-01 00:00   future/moves/collections.py
      146  2098-01-01 00:00   future/moves/configparser.py
      165  2098-01-01 00:00   future/moves/copyreg.py
        0  2018-11-22 09:58   future/moves/dbm/
      488  2098-01-01 00:00   future/moves/dbm/__init__.py
        0  2018-11-22 09:58   future/moves/dbm/__pycache__/
      441  2098-01-01 00:00   future/moves/dbm/__pycache__/__init__.cpython-36.pyc
      308  2098-01-01 00:00   future/moves/dbm/__pycache__/dumb.cpython-36.pyc
      304  2098-01-01 00:00   future/moves/dbm/__pycache__/ndbm.cpython-36.pyc
      303  2098-01-01 00:00   future/moves/dbm/__pycache__/gnu.cpython-36.pyc
      166  2098-01-01 00:00   future/moves/dbm/dumb.py
        0  2018-11-22 09:58   future/moves/html/
        0  2018-11-22 09:58   future/moves/html/__pycache__/
      325  2098-01-01 00:00   future/moves/html/__pycache__/entities.cpython-36.pyc
      817  2098-01-01 00:00   future/moves/html/__pycache__/__init__.cpython-36.pyc
      317  2098-01-01 00:00   future/moves/html/__pycache__/parser.cpython-36.pyc
      177  2098-01-01 00:00   future/moves/html/entities.py
        0  2018-11-22 09:58   future/moves/http/
       71  2098-01-01 00:00   future/moves/http/__init__.py
      167  2098-01-01 00:00   future/moves/html/parser.py
      162  2098-01-01 00:00   future/moves/dbm/gnu.py
        0  2018-11-22 09:58   future/moves/http/__pycache__/
      217  2098-01-01 00:00   future/moves/http/__pycache__/__init__.cpython-36.pyc
      162  2098-01-01 00:00   future/moves/dbm/ndbm.py
     1016  2098-01-01 00:00   future/moves/html/__init__.py
      322  2098-01-01 00:00   future/moves/http/__pycache__/cookiejar.cpython-36.pyc
      298  2098-01-01 00:00   future/moves/http/__pycache__/client.cpython-36.pyc
      344  2098-01-01 00:00   future/moves/http/__pycache__/cookies.cpython-36.pyc
      537  2098-01-01 00:00   future/moves/http/__pycache__/server.cpython-36.pyc
      165  2098-01-01 00:00   future/moves/http/client.py
      233  2098-01-01 00:00   future/moves/http/cookies.py
      158  2098-01-01 00:00   future/moves/itertools.py
      606  2098-01-01 00:00   future/moves/http/server.py
      229  2098-01-01 00:00   future/moves/pickle.py
      173  2098-01-01 00:00   future/moves/http/cookiejar.py
      161  2098-01-01 00:00   future/moves/reprlib.py
      160  2098-01-01 00:00   future/moves/queue.py
      174  2098-01-01 00:00   future/moves/socketserver.py
      251  2098-01-01 00:00   future/moves/subprocess.py
      132  2098-01-01 00:00   future/moves/sys.py
        0  2018-11-22 09:58   future/moves/test/
      110  2098-01-01 00:00   future/moves/test/__init__.py
      259  2098-01-01 00:00   future/moves/test/support.py
        0  2018-11-22 09:58   future/moves/tkinter/
      620  2098-01-01 00:00   future/moves/tkinter/__init__.py
        0  2018-11-22 09:58   future/moves/test/__pycache__/
      267  2098-01-01 00:00   future/moves/test/__pycache__/__init__.cpython-36.pyc
        0  2018-11-22 09:58   future/moves/tkinter/__pycache__/
      677  2098-01-01 00:00   future/moves/tkinter/__pycache__/__init__.cpython-36.pyc
      449  2098-01-01 00:00   future/moves/tkinter/__pycache__/colorchooser.cpython-36.pyc
      449  2098-01-01 00:00   future/moves/tkinter/__pycache__/commondialog.cpython-36.pyc
      407  2098-01-01 00:00   future/moves/test/__pycache__/support.cpython-36.pyc
      421  2098-01-01 00:00   future/moves/tkinter/__pycache__/dialog.cpython-36.pyc
      413  2098-01-01 00:00   future/moves/tkinter/__pycache__/dnd.cpython-36.pyc
      437  2098-01-01 00:00   future/moves/tkinter/__pycache__/constants.cpython-36.pyc
      437  2098-01-01 00:00   future/moves/tkinter/__pycache__/filedialog.cpython-36.pyc
      441  2098-01-01 00:00   future/moves/tkinter/__pycache__/messagebox.cpython-36.pyc
      445  2098-01-01 00:00   future/moves/tkinter/__pycache__/scrolledtext.cpython-36.pyc
      445  2098-01-01 00:00   future/moves/tkinter/__pycache__/simpledialog.cpython-36.pyc
      417  2098-01-01 00:00   future/moves/tkinter/__pycache__/font.cpython-36.pyc
      409  2098-01-01 00:00   future/moves/tkinter/__pycache__/tix.cpython-36.pyc
      409  2098-01-01 00:00   future/moves/tkinter/__pycache__/ttk.cpython-36.pyc
      333  2098-01-01 00:00   future/moves/tkinter/colorchooser.py
      333  2098-01-01 00:00   future/moves/tkinter/commondialog.py
      324  2098-01-01 00:00   future/moves/tkinter/constants.py
      306  2098-01-01 00:00   future/moves/tkinter/dnd.py
      311  2098-01-01 00:00   future/moves/tkinter/dialog.py
      309  2098-01-01 00:00   future/moves/tkinter/font.py
      329  2098-01-01 00:00   future/moves/tkinter/scrolledtext.py
      323  2098-01-01 00:00   future/moves/tkinter/filedialog.py
      327  2098-01-01 00:00   future/moves/tkinter/messagebox.py
      302  2098-01-01 00:00   future/moves/tkinter/ttk.py
      329  2098-01-01 00:00   future/moves/tkinter/simpledialog.py
      302  2098-01-01 00:00   future/moves/tkinter/tix.py
        0  2018-11-22 09:58   future/moves/urllib/
      110  2098-01-01 00:00   future/moves/urllib/__init__.py
        0  2018-11-22 09:58   future/moves/urllib/__pycache__/
      730  2098-01-01 00:00   future/moves/urllib/__pycache__/parse.cpython-36.pyc
      489  2098-01-01 00:00   future/moves/urllib/__pycache__/error.cpython-36.pyc
      269  2098-01-01 00:00   future/moves/urllib/__pycache__/__init__.cpython-36.pyc
     1000  2098-01-01 00:00   future/moves/urllib/__pycache__/request.cpython-36.pyc
      332  2098-01-01 00:00   future/moves/urllib/__pycache__/robotparser.cpython-36.pyc
      479  2098-01-01 00:00   future/moves/urllib/error.py
      437  2098-01-01 00:00   future/moves/urllib/__pycache__/response.cpython-36.pyc
     1045  2098-01-01 00:00   future/moves/urllib/parse.py
     3517  2098-01-01 00:00   future/moves/urllib/request.py
      342  2098-01-01 00:00   future/moves/urllib/response.py
      179  2098-01-01 00:00   future/moves/urllib/robotparser.py
      163  2098-01-01 00:00   future/moves/winreg.py
        0  2018-11-22 09:58   future/moves/xmlrpc/
        0  2098-01-01 00:00   future/moves/xmlrpc/__init__.py
        0  2018-11-22 09:58   future/moves/xmlrpc/__pycache__/
      294  2098-01-01 00:00   future/moves/xmlrpc/__pycache__/client.cpython-36.pyc
      147  2098-01-01 00:00   future/moves/xmlrpc/__pycache__/__init__.cpython-36.pyc
      294  2098-01-01 00:00   future/moves/xmlrpc/__pycache__/server.cpython-36.pyc
      143  2098-01-01 00:00   future/moves/xmlrpc/client.py
      143  2098-01-01 00:00   future/moves/xmlrpc/server.py
        0  2018-11-22 09:58   future/tests/
        0  2018-11-22 09:58   future/tests/__pycache__/
      140  2098-01-01 00:00   future/tests/__pycache__/__init__.cpython-36.pyc
        0  2098-01-01 00:00   future/tests/__init__.py
        0  2018-11-22 09:58   future/types/
     6831  2098-01-01 00:00   future/types/__init__.py
        0  2018-11-22 09:58   future/types/__pycache__/
     5958  2098-01-01 00:00   future/types/__pycache__/__init__.cpython-36.pyc
     3667  2098-01-01 00:00   future/types/__pycache__/newdict.cpython-36.pyc
     1539  2098-01-01 00:00   future/types/__pycache__/newopen.cpython-36.pyc
     2591  2098-01-01 00:00   future/types/__pycache__/newobject.cpython-36.pyc
     3014  2098-01-01 00:00   future/types/__pycache__/newlist.cpython-36.pyc
     5943  2098-01-01 00:00   future/types/__pycache__/newrange.cpython-36.pyc
      912  2098-01-01 00:00   future/types/__pycache__/newmemoryview.cpython-36.pyc
     2284  2098-01-01 00:00   future/types/newlist.py
     3100  2098-01-01 00:00   future/types/newdict.py
     3339  2098-01-01 00:00   future/types/newobject.py
      654  2098-01-01 00:00   future/types/newmemoryview.py
      810  2098-01-01 00:00   future/types/newopen.py
     5195  2098-01-01 00:00   future/types/newrange.py
        0  2018-11-22 09:58   future/utils/
        0  2018-11-22 09:58   future/utils/__pycache__/
     3784  2098-01-01 00:00   future/utils/__pycache__/surrogateescape.cpython-36.pyc
     6097  2098-01-01 00:00   future/utils/surrogateescape.py
     9586  2098-01-01 00:00   future/backports/__pycache__/_markupbase.cpython-36.pyc
    14259  2098-01-01 00:00   future/backports/__pycache__/socket.cpython-36.pyc
    16215  2098-01-01 00:00   future/backports/_markupbase.py
    12681  2098-01-01 00:00   future/backports/email/__pycache__/_parseaddr.cpython-36.pyc
    14635  2098-01-01 00:00   future/backports/email/__pycache__/_policybase.cpython-36.pyc
    11905  2098-01-01 00:00   future/backports/email/__pycache__/charset.cpython-36.pyc
    10702  2098-01-01 00:00   future/backports/email/__pycache__/feedparser.cpython-36.pyc
    11698  2098-01-01 00:00   future/backports/email/__pycache__/generator.cpython-36.pyc
     8329  2098-01-01 00:00   future/backports/email/__pycache__/policy.cpython-36.pyc
    10339  2098-01-01 00:00   future/backports/email/__pycache__/utils.cpython-36.pyc
     9244  2098-01-01 00:00   future/backports/email/__pycache__/quoprimime.cpython-36.pyc
     8443  2098-01-01 00:00   future/backports/email/_encoded_words.py
    14647  2098-01-01 00:00   future/backports/email/_policybase.py
     8823  2098-01-01 00:00   future/backports/email/policy.py
    10923  2098-01-01 00:00   future/backports/email/quoprimime.py
    14270  2098-01-01 00:00   future/backports/email/utils.py
    13596  2098-01-01 00:00   future/backports/html/__pycache__/parser.cpython-36.pyc
    16246  2098-01-01 00:00   future/backports/http/__pycache__/cookies.cpython-36.pyc
    15663  2098-01-01 00:00   future/backports/socket.py
     8344  2098-01-01 00:00   future/backports/test/sha256.pem
    14305  2098-01-01 00:00   future/types/__pycache__/newbytes.cpython-36.pyc
    12662  2098-01-01 00:00   future/types/__pycache__/newint.cpython-36.pyc
    14331  2098-01-01 00:00   future/types/__pycache__/newstr.cpython-36.pyc
    13233  2098-01-01 00:00   future/types/newint.py
    16238  2098-01-01 00:00   future/types/newbytes.py
    15464  2098-01-01 00:00   future/types/newstr.py
    22422  2098-01-01 00:00   future/backports/__pycache__/socketserver.cpython-36.pyc
    17021  2098-01-01 00:00   future/backports/email/__pycache__/header.cpython-36.pyc
    20956  2098-01-01 00:00   future/backports/email/__pycache__/headerregistry.cpython-36.pyc
    17439  2098-01-01 00:00   future/backports/email/charset.py
    17389  2098-01-01 00:00   future/backports/email/_parseaddr.py
    22736  2098-01-01 00:00   future/backports/email/feedparser.py
    19520  2098-01-01 00:00   future/backports/email/generator.py
    24448  2098-01-01 00:00   future/backports/email/header.py
    20637  2098-01-01 00:00   future/backports/email/headerregistry.py
    19770  2098-01-01 00:00   future/backports/html/parser.py
    21569  2098-01-01 00:00   future/backports/http/cookies.py
    24286  2098-01-01 00:00   future/backports/socketserver.py
        0  2018-11-22 09:58   future/standard_library/
        0  2018-11-22 09:58   future/standard_library/__pycache__/
    18606  2098-01-01 00:00   future/standard_library/__pycache__/__init__.cpython-36.pyc
    16506  2098-01-01 00:00   future/tests/__pycache__/base.cpython-36.pyc
    19706  2098-01-01 00:00   future/tests/base.py
    20325  2098-01-01 00:00   future/utils/__init__.py
    19713  2098-01-01 00:00   future/utils/__pycache__/__init__.cpython-36.pyc
    28930  2098-01-01 00:00   future/backports/__pycache__/misc.cpython-36.pyc
    28683  2098-01-01 00:00   future/backports/email/__pycache__/message.cpython-36.pyc
    30744  2098-01-01 00:00   future/backports/http/__pycache__/client.cpython-36.pyc
    32602  2098-01-01 00:00   future/backports/misc.py
    28758  2098-01-01 00:00   future/backports/urllib/__pycache__/parse.cpython-36.pyc
    29942  2098-01-01 00:00   future/backports/xmlrpc/__pycache__/server.cpython-36.pyc
    27743  2098-01-01 00:00   future/standard_library/__init__.py
    35225  2098-01-01 00:00   future/backports/email/message.py
    34885  2098-01-01 00:00   future/backports/http/__pycache__/server.cpython-36.pyc
    35792  2098-01-01 00:00   future/backports/urllib/parse.py
    33904  2098-01-01 00:00   future/backports/xmlrpc/__pycache__/client.cpython-36.pyc
    37285  2098-01-01 00:00   future/backports/xmlrpc/server.py
    47192  2098-01-01 00:00   future/backports/http/client.py
    45523  2098-01-01 00:00   future/backports/http/server.py
    48133  2098-01-01 00:00   future/backports/xmlrpc/client.py
    50967  2098-01-01 00:00   future/backports/__pycache__/datetime.cpython-36.pyc
    50640  2098-01-01 00:00   future/backports/html/__pycache__/entities.cpython-36.pyc
    54419  2098-01-01 00:00   future/backports/http/__pycache__/cookiejar.cpython-36.pyc
    55200  2098-01-01 00:00   future/backports/test/__pycache__/support.cpython-36.pyc
    70881  2098-01-01 00:00   future/backports/test/support.py
    70209  2098-01-01 00:00   future/backports/urllib/__pycache__/request.cpython-36.pyc
    75552  2098-01-01 00:00   future/backports/datetime.py
    80754  2098-01-01 00:00   future/backports/email/__pycache__/_header_value_parser.cpython-36.pyc
    75428  2098-01-01 00:00   future/backports/html/entities.py
    76542  2098-01-01 00:00   future/backports/http/cookiejar.py
    96184  2098-01-01 00:00   future/backports/urllib/request.py
   104692  2098-01-01 00:00   future/backports/email/_header_value_parser.py
---------                     -------
  2348693                     320 files

@dschep
Copy link
Contributor

dschep commented Nov 23, 2018

Thanks for all the details! I dug in a bit.. and it seems the cause of this is that python-jose depends on future regardless of python version. That's a bug in the setup.py of python-jose, IMO. Relevant line of code: https://github.com/mpdavis/python-jose/blob/7bc6b980c220037cdb356606515542699bf49421/setup.py#L68

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants