0

I’m trying to deploy my django app to Heroku. However, when I push heroku master, it collects all my modules, no matter the fact that most of them are Not in my requirements file. Therefore, it fails when it gets to pywin.

This is what I have in requirements:

certifi==2020.6.20
chardet==3.0.4
dj-database-url==0.5.0
Django==2.2.15
gunicorn==20.0.4
idna==2.10
psycopg2==2.8.5
pytz==2020.1
requests==2.24.0
sqlparse==0.3.1
urllib3==1.25.10
whitenoise==5.2.0

This is the message I get after pushing:

Enumerating objects: 101, done.
Counting objects: 100% (101/101), done.
Delta compression using up to 8 threads
Compressing objects: 100% (84/84), done.
Writing objects: 100% (101/101), 933.04 KiB | 4.22 MiB/s, done.
Total 101 (delta 31), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Python app detected
remote: -----> Installing python-3.6.11
remote: -----> Installing pip 20.1.1, setuptools 47.1.1 and wheel 0.34.2
remote: -----> Installing SQLite3
remote: -----> Installing requirements with pip
remote:        Collecting asgiref==3.2.10
remote:          Downloading asgiref-3.2.10-py3-none-any.whl (19 kB)
remote:        Collecting async-generator==1.10
remote:          Downloading async_generator-1.10-py3-none-any.whl (18 kB)
remote:        Collecting atomicwrites==1.4.0
remote:          Downloading atomicwrites-1.4.0-py2.py3-none-any.whl (6.8 kB)
remote:        Collecting attrs==19.3.0
remote:          Downloading attrs-19.3.0-py2.py3-none-any.whl (39 kB)
remote:        Collecting backcall==0.1.0
remote:          Downloading backcall-0.1.0.tar.gz (9.7 kB)
remote:        Collecting bleach==3.1.5
remote:          Downloading bleach-3.1.5-py2.py3-none-any.whl (151 kB)
remote:        Collecting blis==0.4.1
remote:          Downloading blis-0.4.1-cp36-cp36m-manylinux1_x86_64.whl (3.7 MB)
remote:        Collecting bokeh==2.0.2
remote:          Downloading bokeh-2.0.2.tar.gz (8.6 MB)
remote:        Collecting boto==2.49.0
remote:          Downloading boto-2.49.0-py2.py3-none-any.whl (1.4 MB)
remote:        Collecting boto3==1.13.11
remote:          Downloading boto3-1.13.11-py2.py3-none-any.whl (128 kB)
remote:        Collecting botocore==1.16.11
remote:          Downloading botocore-1.16.11-py2.py3-none-any.whl (6.2 MB)
remote:        Collecting brewer2mpl==1.4.1
remote:          Downloading brewer2mpl-1.4.1-py2.py3-none-any.whl (24 kB)
remote:        Collecting catalogue==1.0.0
remote:          Downloading catalogue-1.0.0-py2.py3-none-any.whl (7.7 kB)
remote:        Collecting certifi==2020.4.5.1
remote:          Downloading certifi-2020.4.5.1-py2.py3-none-any.whl (157 kB)
remote:        Collecting chardet==3.0.4
remote:          Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB)
remote:        Collecting click==7.1.2
remote:          Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
remote:        Collecting colorama==0.4.3
remote:          Downloading colorama-0.4.3-py2.py3-none-any.whl (15 kB)
remote:        Collecting cycler==0.10.0
remote:          Downloading cycler-0.10.0-py2.py3-none-any.whl (6.5 kB)
remote:        Collecting cymem==2.0.3
remote:          Downloading cymem-2.0.3-cp36-cp36m-manylinux1_x86_64.whl (32 kB)
remote:        Collecting Cython==0.29.14
remote:          Downloading Cython-0.29.14-cp36-cp36m-manylinux1_x86_64.whl (2.1 MB)
remote:        Collecting decorator==4.4.2
remote:          Downloading decorator-4.4.2-py2.py3-none-any.whl (9.2 kB)
remote:        Collecting defusedxml==0.6.0
remote:          Downloading defusedxml-0.6.0-py2.py3-none-any.whl (23 kB)
remote:        Collecting descartes==1.1.0
remote:          Downloading descartes-1.1.0-py3-none-any.whl (5.8 kB)
remote:        Collecting dj-database-url==0.5.0
remote:          Downloading dj_database_url-0.5.0-py2.py3-none-any.whl (5.5 kB)
remote:        Collecting Django==3.1
remote:          Downloading Django-3.1-py3-none-any.whl (7.8 MB)
remote:        Collecting docutils==0.15.2
remote:          Downloading docutils-0.15.2-py3-none-any.whl (547 kB)
remote:        Collecting entrypoints==0.3
remote:          Downloading entrypoints-0.3-py2.py3-none-any.whl (11 kB)
remote:        Collecting et-xmlfile==1.0.1
remote:          Downloading et_xmlfile-1.0.1.tar.gz (8.4 kB)
remote:        Collecting Flask==1.1.2
remote:          Downloading Flask-1.1.2-py2.py3-none-any.whl (94 kB)
remote:        Collecting funcy==1.14
remote:          Downloading funcy-1.14.tar.gz (548 kB)
remote:        Collecting future==0.18.2
remote:          Downloading future-0.18.2.tar.gz (829 kB)
remote:        Collecting gensim==3.8.3
remote:          Downloading gensim-3.8.3-cp36-cp36m-manylinux1_x86_64.whl (24.2 MB)
remote:        Collecting ggplot==0.11.5
remote:          Downloading ggplot-0.11.5-py2.py3-none-any.whl (2.2 MB)
remote:        Collecting gunicorn==20.0.4
remote:          Downloading gunicorn-20.0.4-py2.py3-none-any.whl (77 kB)
remote:        Collecting idna==2.9
remote:          Downloading idna-2.9-py2.py3-none-any.whl (58 kB)
remote:        Collecting importlib-metadata==1.6.0
remote:          Downloading importlib_metadata-1.6.0-py2.py3-none-any.whl (30 kB)
remote:        Collecting ipykernel==5.3.0
remote:          Downloading ipykernel-5.3.0-py3-none-any.whl (119 kB)
remote:        Collecting ipynb-py-convert==0.4.5
remote:          Downloading ipynb-py-convert-0.4.5.tar.gz (3.6 kB)
remote:        Collecting ipython==7.14.0
remote:          Downloading ipython-7.14.0-py3-none-any.whl (782 kB)
remote:        Collecting ipython-genutils==0.2.0
remote:          Downloading ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB)
remote:        Collecting itsdangerous==1.1.0
remote:          Downloading itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)
remote:        Collecting jdcal==1.4.1
remote:          Downloading jdcal-1.4.1-py2.py3-none-any.whl (9.5 kB)
remote:        Collecting jedi==0.17.0
remote:          Downloading jedi-0.17.0-py2.py3-none-any.whl (1.1 MB)
remote:        Collecting Jinja2==2.11.2
remote:          Downloading Jinja2-2.11.2-py2.py3-none-any.whl (125 kB)
remote:        Collecting jmespath==0.10.0
remote:          Downloading jmespath-0.10.0-py2.py3-none-any.whl (24 kB)
remote:        Collecting joblib==0.15.1
remote:          Downloading joblib-0.15.1-py3-none-any.whl (298 kB)
remote:        Collecting json5==0.9.5
remote:          Downloading json5-0.9.5-py2.py3-none-any.whl (17 kB)
remote:        Collecting jsonschema==3.2.0
remote:          Downloading jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)
remote:        Collecting jupyter-client==6.1.3
remote:          Downloading jupyter_client-6.1.3-py3-none-any.whl (106 kB)
remote:        Collecting jupyter-core==4.6.3
remote:          Downloading jupyter_core-4.6.3-py2.py3-none-any.whl (83 kB)
remote:        Collecting jupyter-server==0.1.1
remote:          Downloading jupyter_server-0.1.1-py2.py3-none-any.whl (183 kB)
remote:        Collecting jupyterlab==2.1.3
remote:          Downloading jupyterlab-2.1.3-py3-none-any.whl (7.6 MB)
remote:        Collecting jupyterlab-pygments==0.1.1
remote:          Downloading jupyterlab_pygments-0.1.1-py2.py3-none-any.whl (4.6 kB)
remote:        Collecting jupyterlab-server==1.1.5
remote:          Downloading jupyterlab_server-1.1.5-py3-none-any.whl (29 kB)
remote:        Collecting kiwisolver==1.2.0
remote:          Downloading kiwisolver-1.2.0-cp36-cp36m-manylinux1_x86_64.whl (88 kB)
remote:        Collecting MarkupSafe==1.1.1
remote:          Downloading MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)
remote:        Collecting matplotlib==3.2.1
remote:          Downloading matplotlib-3.2.1-cp36-cp36m-manylinux1_x86_64.whl (12.4 MB)
remote:        Collecting mistune==0.8.4
remote:          Downloading mistune-0.8.4-py2.py3-none-any.whl (16 kB)
remote:        Collecting mizani==0.7.1
remote:          Downloading mizani-0.7.1-py3-none-any.whl (62 kB)
remote:        Collecting more-itertools==8.3.0
remote:          Downloading more_itertools-8.3.0-py3-none-any.whl (44 kB)
remote:        Collecting murmurhash==1.0.2
remote:          Downloading murmurhash-1.0.2-cp36-cp36m-manylinux1_x86_64.whl (19 kB)
remote:        Collecting nbconvert==5.6.1
remote:          Downloading nbconvert-5.6.1-py2.py3-none-any.whl (455 kB)
remote:        Collecting nbformat==5.0.6
remote:          Downloading nbformat-5.0.6-py3-none-any.whl (170 kB)
remote:        Collecting nltk==3.5
remote:          Downloading nltk-3.5.zip (1.4 MB)
remote:        Collecting notebook==6.0.3
remote:          Downloading notebook-6.0.3-py3-none-any.whl (9.7 MB)
remote:        Collecting numexpr==2.7.1
remote:          Downloading numexpr-2.7.1-cp36-cp36m-manylinux1_x86_64.whl (162 kB)
remote:        Collecting numpy==1.18.4
remote:          Downloading numpy-1.18.4-cp36-cp36m-manylinux1_x86_64.whl (20.2 MB)
remote:        Collecting oauthlib==3.1.0
remote:          Downloading oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)
remote:        Collecting openpyxl==3.0.3
remote:          Downloading openpyxl-3.0.3.tar.gz (172 kB)
remote:        Collecting packaging==20.3
remote:          Downloading packaging-20.3-py2.py3-none-any.whl (37 kB)
remote:        Collecting palettable==3.3.0
remote:          Downloading palettable-3.3.0-py2.py3-none-any.whl (111 kB)
remote:        Collecting pandas==1.0.3
remote:          Downloading pandas-1.0.3-cp36-cp36m-manylinux1_x86_64.whl (10.0 MB)
remote:        Collecting pandocfilters==1.4.2
remote:          Downloading pandocfilters-1.4.2.tar.gz (14 kB)
remote:        Collecting parso==0.7.0
remote:          Downloading parso-0.7.0-py2.py3-none-any.whl (100 kB)
remote:        Collecting patsy==0.5.1
remote:          Downloading patsy-0.5.1-py2.py3-none-any.whl (231 kB)
remote:        Collecting pickleshare==0.7.5
remote:          Downloading pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB)
remote:        Collecting Pillow==7.1.2
remote:          Downloading Pillow-7.1.2-cp36-cp36m-manylinux1_x86_64.whl (2.1 MB)
remote:        Collecting plac==1.1.3
remote:          Downloading plac-1.1.3-py2.py3-none-any.whl (20 kB)
remote:        Collecting plotnine==0.7.0
remote:          Downloading plotnine-0.7.0-py3-none-any.whl (4.4 MB)
remote:        Collecting pluggy==0.13.1
remote:          Downloading pluggy-0.13.1-py2.py3-none-any.whl (18 kB)
remote:        Collecting preshed==3.0.2
remote:          Downloading preshed-3.0.2-cp36-cp36m-manylinux1_x86_64.whl (119 kB)
remote:        Collecting prometheus-client==0.8.0
remote:          Downloading prometheus_client-0.8.0-py2.py3-none-any.whl (53 kB)
remote:        Collecting prompt-toolkit==3.0.5
remote:          Downloading prompt_toolkit-3.0.5-py3-none-any.whl (351 kB)
remote:        Collecting psycopg2-binary==2.8.5
remote:          Downloading psycopg2_binary-2.8.5-cp36-cp36m-manylinux1_x86_64.whl (2.9 MB)
remote:        Collecting py==1.8.1
remote:          Downloading py-1.8.1-py2.py3-none-any.whl (83 kB)
remote:        Collecting Pygments==2.6.1
remote:          Downloading Pygments-2.6.1-py3-none-any.whl (914 kB)
remote:        Collecting pyLDAvis==2.1.2
remote:          Downloading pyLDAvis-2.1.2.tar.gz (1.6 MB)
remote:        Collecting pyparsing==2.4.7
remote:          Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
remote:        Collecting Pyphen==0.9.5
remote:          Downloading Pyphen-0.9.5-py2.py3-none-any.whl (3.0 MB)
remote:        Collecting pyrsistent==0.16.0
remote:          Downloading pyrsistent-0.16.0.tar.gz (108 kB)
remote:        Collecting PySocks==1.7.1
remote:          Downloading PySocks-1.7.1-py3-none-any.whl (16 kB)
remote:        Collecting pytest==5.4.2
remote:          Downloading pytest-5.4.2-py3-none-any.whl (247 kB)
remote:        Collecting python-dateutil==2.8.1
remote:          Downloading python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
remote:        Collecting pytz==2020.1
remote:          Downloading pytz-2020.1-py2.py3-none-any.whl (510 kB)
remote:        ERROR: Could not find a version that satisfies the requirement pywin32==227 (from -r /tmp/build_a37efde3/requirements.txt (line 95)) (from versions: none)
remote:        ERROR: No matching distribution found for pywin32==227 (from -r /tmp/build_a37efde3/requirements.txt (line 95))
remote:  !     Push rejected, failed to compile Python app.
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !       Push rejected to ghiblimovs.
remote:
To https://git.heroku.com/ghiblimovs.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/ghiblimovs.git'

What's happening?

dazai
  • 766
  • 4
  • 25
  • Are you 100% sure that you've committed the version of `requirements.txt` that you show here? Is it in the root directory of your project? Do you have any other files with that name? – ChrisGPT was on strike Aug 15 '20 at 15:53
  • @Chris Yes, I even deleted something and rewrote it just to commit the changes again just in case but it doesn't change anything. The file is indeed in the root directory and it's the only one with that name so I really don't understand what's going on.. – dazai Aug 15 '20 at 16:01
  • And you're sure you're deploying the right version to Heroku? When you run `heroku releases`, you see the expected commit hash? – ChrisGPT was on strike Aug 15 '20 at 16:02
  • I get this: - Current: v2 v2 Enable Logplex mail 2020/08/15 10:35:00 -0300 (~ 2h ago) v1 Initial release mail 2020/08/15 10:35:00 -0300 (~ 2h ago) – dazai Aug 15 '20 at 16:04
  • What does `git status` show? What does `git log requirements.txt` show? – ChrisGPT was on strike Aug 15 '20 at 16:06
  • @Chris I used git add . and then git commit -m for my changes, and then git push heroku master. I initiated the project in heroku two hours ago – dazai Aug 15 '20 at 16:07
  • `git add .` is an antipattern... did you maybe run that in a subdirectory instead of the top-level directory? – ChrisGPT was on strike Aug 15 '20 at 16:08
  • @Christ Git status shows: On branch masterbrunch nothing to commit, working tree clean. And the other git log shows my last commits – dazai Aug 15 '20 at 16:08
  • @Chris I've been running git add . in my main directory every time I made changes – dazai Aug 15 '20 at 16:09
  • And you're committing directly to `master`? Or are you working in another branch? Why does your comment say "On branch masterbrunch"? – ChrisGPT was on strike Aug 15 '20 at 16:11
  • @Chris Well, I was following the tutorial to do it so I am not sure. I got this when I tried git remote show heroku: * remote heroku Fetch URL: https://git.heroku.com/ghiblimovs.git Push URL: https://git.heroku.com/ghiblimovs.git HEAD branch: (unknown) Remote branch: masterbrunch tracked Local ref configured for 'git push': masterbrunch pushes to masterbrunch (up to date) Maybe there's the issue? – dazai Aug 15 '20 at 16:14
  • Heroku only builds from pushes to `master` or `main`, and you are currently pushing your local `master` to Heroku's `master`: "[remote rejected] master -> master". Your commits are in another branch, so they are not being included in your push. Either push `masterbrunch` to `master` or merge your local branch into your local `master` and push your `master`. – ChrisGPT was on strike Aug 15 '20 at 16:16
  • @Chris Oh, I see. I get this now when I write git push heroku masterbrunch: Everything up-to-date. Is that supposed to happen? When I type heroku open my app is not there... – dazai Aug 15 '20 at 16:19
  • See [How to push different local Git branches to Heroku/master](https://stackoverflow.com/q/2971550/354577), [Push different branch to Heroku](https://stackoverflow.com/q/25834500/354577), or any of a million Git tutorials if you want to merge your work into `master` – ChrisGPT was on strike Aug 15 '20 at 16:19
  • @Chris After making some modifications to my code, I have the same problem once again but this time I did merge my branches, therefore now I don't understand what's happening even though the error is the same when I push... would you happen to know why? – dazai Aug 18 '20 at 21:05
  • Hey @satoru were you able to resolve this problem? I am facing a similar issue albeit with a different module – Piyush Apr 29 '21 at 09:03
  • @Piyush Hi, I did solve it but tbh I don't remember what I did in the end. I do remember I had a problem with my branches and in the end I passed everything to another one but I don't know if that was exactly what solved it. Good luck. – dazai Apr 29 '21 at 16:24

0 Answers0