Unable to deploy Django app in Heroku due to requirements.txt error - django

I am trying to deploy a django app I created to heroku. When i do git push heroku master an error shows remote: cp: cannot create regular file '/app/tmp/cache/.heroku/requirements.txt': No such file or directory.
here is the full log:
Enumerating objects: 35, done.
Counting objects: 100% (35/35), done.
Delta compression using up to 2 threads
Compressing objects: 100% (32/32), done.
Writing objects: 100% (35/35), 12.68 KiB | 405.00 KiB/s, done.
Total 35 (delta 2), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Python app detected
remote: cp: cannot create regular file '/app/tmp/cache/.heroku/requirements.txt': No such file or directory
remote: -----> Installing python-3.6.10
remote: -----> Installing pip
remote: -----> Installing SQLite3
remote: Sqlite3 successfully installed.
remote: -----> Installing requirements with pip
remote: Collecting asgiref==3.2.7
remote: Downloading asgiref-3.2.7-py2.py3-none-any.whl (19 kB)
remote: Collecting astroid==2.3.3
remote: Downloading astroid-2.3.3-py3-none-any.whl (205 kB)
remote: Collecting colorama==0.4.3
remote: Downloading colorama-0.4.3-py2.py3-none-any.whl (15 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.0.5
remote: Downloading Django-3.0.5-py3-none-any.whl (7.5 MB)
remote: Collecting django-heroku==0.3.1
remote: Downloading django_heroku-0.3.1-py2.py3-none-any.whl (6.2 kB)
remote: Collecting gunicorn==20.0.4
remote: Downloading gunicorn-20.0.4-py2.py3-none-any.whl (77 kB)
remote: Collecting isort==4.3.21
remote: Downloading isort-4.3.21-py2.py3-none-any.whl (42 kB)
remote: Collecting lazy-object-proxy==1.4.3
remote: Downloading lazy_object_proxy-1.4.3-cp36-cp36m-manylinux1_x86_64.whl (55 kB)
remote: Collecting mccabe==0.6.1
remote: Downloading mccabe-0.6.1-py2.py3-none-any.whl (8.6 kB)
remote: Collecting psycopg2==2.8.5
remote: Downloading psycopg2-2.8.5.tar.gz (380 kB)
remote: Collecting pylint==2.4.4
remote: Downloading pylint-2.4.4-py3-none-any.whl (302 kB)
remote: Collecting pytz==2019.3
remote: Downloading pytz-2019.3-py2.py3-none-any.whl (509 kB)
remote: Collecting six==1.14.0
remote: Downloading six-1.14.0-py2.py3-none-any.whl (10 kB)
remote: Collecting sqlparse==0.3.1
remote: Downloading sqlparse-0.3.1-py2.py3-none-any.whl (40 kB)
remote: Collecting typed-ast==1.4.1
remote: Downloading typed_ast-1.4.1-cp36-cp36m-manylinux1_x86_64.whl (737 kB)
remote: Collecting whitenoise==5.0.1
remote: Downloading whitenoise-5.0.1-py2.py3-none-any.whl (20 kB)
remote: Collecting wrapt==1.11.2
remote: Downloading wrapt-1.11.2.tar.gz (27 kB)
remote: Building wheels for collected packages: psycopg2, wrapt
remote: Building wheel for psycopg2 (setup.py): started
remote: Building wheel for psycopg2 (setup.py): finished with status 'done'
remote: Created wheel for psycopg2: filename=psycopg2-2.8.5-cp36-cp36m-linux_x86_64.whl size=447249 sha256=8c3101c70eafd1ccd9ef08021cf553d3c10d55ac62b1c191b19735ab3c026e5a
remote: Stored in directory: /tmp/pip-ephem-wheel-cache-025326ex/wheels/52/9a/ab/22a0d1dc560ad5c0d09cc1c968015f89726e7e01c190dee110
remote: Building wheel for wrapt (setup.py): started
remote: Building wheel for wrapt (setup.py): finished with status 'done'
remote: Created wheel for wrapt: filename=wrapt-1.11.2-cp36-cp36m-linux_x86_64.whl size=69767 sha256=974a65540f5d88c324d2c7cd1c4379cbaa7e2c1a03e599864be4c2ffbe4e17af
remote: Stored in directory: /tmp/pip-ephem-wheel-cache-025326ex/wheels/0d/85/48/15d7bfab92a2d0e87372224c1f628fc57db7447a663a58e86c
remote: Successfully built psycopg2 wrapt
remote: Installing collected packages: asgiref, lazy-object-proxy, typed-ast, six, wrapt, astroid, colorama, dj-database-url, sqlparse, pytz, Django, psycopg2, whitenoise, django-heroku, gunicorn, isort, mccabe, pylint
remote: Successfully installed Django-3.0.5 asgiref-3.2.7 astroid-2.3.3 colorama-0.4.3 dj-database-url-0.5.0 django-heroku-0.3.1 gunicorn-20.0.4 isort-4.3.21 lazy-object-proxy-1.4.3 mccabe-0.6.1 psycopg2-2.8.5 pylint-2.4.4 pytz-2019.3 six-1.14.0 sqlparse-0.3.1 typed-ast-1.4.1 whitenoise-5.0.1 wrapt-1.11.2
remote: -----> $ python manage.py collectstatic --noinput
remote: Traceback (most recent call last):
remote: File "manage.py", line 21, in <module>
remote: main()
remote: File "manage.py", line 17, in main
remote: execute_from_command_line(sys.argv)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
remote: utility.execute()
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 395, in execute
remote: self.fetch_command(subcommand).run_from_argv(self.argv)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/base.py", line 328, in run_from_argv
remote: self.execute(*args, **cmd_options)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/base.py", line 369, in execute
remote: output = self.handle(*args, **options)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 187, in handle
remote: collected = self.collect()
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 104, in collect
remote: for path, storage in finder.list(self.ignore_patterns):
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/staticfiles/finders.py", line 130, in list
remote: for path in utils.get_files(storage, ignore_patterns):
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/staticfiles/utils.py", line 23, in get_files
remote: directories, files = storage.listdir(location)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/files/storage.py", line 316, in listdir
remote: for entry in os.scandir(path):
remote: FileNotFoundError: [Errno 2] No such file or directory: '/tmp/build_8b272f59d204dc1b5699579647b39ae3/static_in_env'
remote:
remote: ! Error while running '$ python manage.py collectstatic --noinput'.
remote: See traceback above for details.
remote:
remote: You may need to update application code to resolve this error.
remote: Or, you can disable collectstatic for this application:
remote:
remote: $ heroku config:set DISABLE_COLLECTSTATIC=1
remote:
remote: https://devcenter.heroku.com/articles/django-assets
remote: ! Push rejected, failed to compile Python app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to pure-plains-36964.
remote:
To https://git.heroku.com/pure-plains-36964.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/pure-plains-36964.git'
I do have requirements.txt in my root directory with everything included. Please help

There is indeed a requirements.txt error but that does not stop the build.
The error is something with your django collectstatic. Might be because you have an empty folder in called static_in_env. You may follow the recommendation in the stack trace, i.e. run:
$ heroku config:set DISABLE_COLLECTSTATIC=1
But if you need the collectstatic to run then revert that flag:
$ heroku config:set DISABLE_COLLECTSTATIC=0
and then debug why it is empty. It is hard to tell without more context.
As for the requirements.txt, make sure you only have one requirements.txt. If you have more than one, make sure they all have some text in them. Hope this helps.

Related

how to fix Heroku error when trying to push -- pre-receive hook declined

I was trying to push what i have in my app using Django python to be deployed to Heroku and keep getting this error :
! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/immense-brushlands'
requriment.txt file is there :
asgiref==3.4.1
beautifulsoup4==4.10.0
certifi==2021.10.8
cffi==1.15.0
charset-normalizer==2.0.7
cloudinary==1.26.0
cryptography==35.0.0
defusedxml==0.7.1
Deprecated==1.2.13
dj-database-url==0.5.0
Django==3.2.5
django-bootstrap4==3.0.1
django-braces==1.14.0
django-heroku==0.3.1
django-oauth-toolkit==1.5.0
django-rest-framework-social-oauth2==1.1.0
djangorestframework==3.12.4
gunicorn==20.1.0
idna==3.3
jwcrypto==1.0
oauthlib==3.1.1
psycopg2==2.9.1
pycparser==2.20
PyJWT==2.3.0
python3-openid==3.2.0
pytz==2021.3
requests==2.26.0
requests-oauthlib==1.3.0
six==1.16.0
social-auth-app-django==5.0.0
social-auth-core==4.1.0
soupsieve==2.2.1
sqlparse==0.4.2
stripe==2.59.0
urllib3==1.26.7
whitenoise==5.3.0
wrapt==1.13.2
my Procfile in root directory and contain:
web : gunicorn foodhub.wsgi
I was trying to push what i have in my app using Django python to be deployed to Heroku and keep getting this error :
! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/immense-brushlands'`
-----> Building on the Heroku-22 stack
-----> Determining which buildpack to use for this app
-----> Python app detected
-----> No Python version was specified. Using the buildpack default: python-3.10.7
To use a different version, see: https://devcenter.heroku.com/articles/python-runtimes
-----> Installing python-3.10.7
-----> Installing pip 22.2.2, setuptools 63.4.3 and wheel 0.37.1
-----> Installing SQLite3
-----> Installing requirements with pip
Collecting asgiref==3.5.2
Downloading asgiref-3.5.2-py3-none-any.whl (22 kB)
Collecting certifi==2022.9.24
Downloading certifi-2022.9.24-py3-none-any.whl (161 kB)
Collecting cloudinary==1.26.0
Downloading cloudinary-1.26.0.tar.gz (170 kB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Collecting dj-database-url==1.0.0
Downloading dj_database_url-1.0.0-py3-none-any.whl (6.6 kB)
Collecting Django==4.1.2
Downloading Django-4.1.2-py3-none-any.whl (8.1 MB)
Collecting django-heroku==0.3.1
Downloading django_heroku-0.3.1-py2.py3-none-any.whl (6.2 kB)
Collecting gunicorn==20.1.0
Downloading gunicorn-20.1.0-py3-none-any.whl (79 kB)
Collecting psycopg2==2.9.4
Downloading psycopg2-2.9.4.tar.gz (384 kB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Collecting six==1.16.0
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting sqlparse==0.4.3
Downloading sqlparse-0.4.3-py3-none-any.whl (42 kB)
Collecting tzdata==2022.4
Downloading tzdata-2022.4-py2.py3-none-any.whl (336 kB)
Collecting urllib3==1.26.12
Downloading urllib3-1.26.12-py2.py3-none-any.whl (140 kB)
Collecting whitenoise==6.2.0
Downloading whitenoise-6.2.0-py3-none-any.whl (19 kB)
Building wheels for collected packages: cloudinary, psycopg2
Building wheel for cloudinary (setup.py): started
Building wheel for cloudinary (setup.py): finished with status 'done'
Created wheel for cloudinary: filename=cloudinary-1.26.0-py3-none-any.whl size=134187 sha256=391663ac9f9caa29fca028ee944bf59a6ac5066a9aa1012fb188ff52dac36979
Stored in directory: /tmp/pip-ephem-wheel-cache-odd2a9t_/wheels/58/0d/32/997fc6c26f83c9ae73a1bcd41028973512175982df608523ef
Building wheel for psycopg2 (setup.py): started
Building wheel for psycopg2 (setup.py): finished with status 'done'
Created wheel for psycopg2: filename=psycopg2-2.9.4-cp310-cp310-linux_x86_64.whl size=159965 sha256=cae6fb7d596d71258bdd30d91a0aa6ec5e8d5ba26d5c2c8f9601e00eb569ea53
Stored in directory: /tmp/pip-ephem-wheel-cache-odd2a9t_/wheels/10/07/ca/a5e7863aeec605e8a19ea9ccc90bb594784c287cc5534bbecb
Successfully built cloudinary psycopg2
Installing collected packages: whitenoise, urllib3, tzdata, sqlparse, six, psycopg2, gunicorn, certifi, asgiref, Django, cloudinary, dj-database-url, django-heroku
Successfully installed Django-4.1.2 asgiref-3.5.2 certifi-2022.9.24 cloudinary-1.26.0 dj-database-url-1.0.0 django-heroku-0.3.1 gunicorn-20.1.0 psycopg2-2.9.4 six-1.16.0 sqlparse-0.4.3 tzdata-2022.4 urllib3-1.26.12 whitenoise-6.2.0
-----> $ python manage.py collectstatic --noinput
Post-processing 'js/canvas-to-blob.min.js' failed!
Traceback (most recent call last):
File "/tmp/build_b3caaaea/manage.py", line 22, in <module>
main()
File "/tmp/build_b3caaaea/manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/app/.heroku/python/lib/python3.10/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
utility.execute()
File "/app/.heroku/python/lib/python3.10/site-packages/django/core/management/__init__.py", line 440, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/app/.heroku/python/lib/python3.10/site-packages/django/core/management/base.py", line 402, in run_from_argv
self.execute(*args, **cmd_options)
File "/app/.heroku/python/lib/python3.10/site-packages/django/core/management/base.py", line 448, in execute
output = self.handle(*args, **options)
File "/app/.heroku/python/lib/python3.10/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 209, in handle
collected = self.collect()
File "/app/.heroku/python/lib/python3.10/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 154, in collect
raise processed
whitenoise.storage.MissingFileError: The file 'js/canvas-to-blob.min.js.map' could not be found with <whitenoise.storage.CompressedManifestStaticFilesStorage object at 0x7ff53e881d50>.
The JS file 'js/canvas-to-blob.min.js' references a file which could not be found:
js/canvas-to-blob.min.js.map
Please check the URL references in this JS file, particularly any
relative paths which might be pointing to the wrong location.
! Error while running '$ python manage.py collectstatic --noinput'.
See traceback above for details.
You may need to update application code to resolve this error.
Or, you can disable collectstatic for this application:
$ heroku config:set DISABLE_COLLECTSTATIC=1
https://devcenter.heroku.com/articles/django-assets
****** Collectstatic environment variables:
PYTHONUNBUFFERED=1
PKG_CONFIG_PATH=/app/.heroku/vendor/lib/pkg-config:/app/.heroku/python/lib/pkg-config:
DEBUG_COLLECTSTATIC=1
BPLOG_PREFIX=buildpack.python
PWD=/tmp/build_b3caaaea
HOME=/app
LANG=en_US.UTF-8
SOURCE_VERSION=495ce7e183efedd2df883a898d49dab71e966050
REQUEST_ID=9bd57211-cb18-3350-055d-aa2d6bfe888e
ENV_DIR=/tmp/d20221008-54-7rg3a6
PYTHONPATH=.
CPLUS_INCLUDE_PATH=/app/.heroku/vendor/include:/app/.heroku/python/include:
BIN_DIR=/tmp/codon/tmp/buildpacks/0f40890b54a617ec2334fac0439a123c6a0c1136/bin
LIBRARY_PATH=/app/.heroku/vendor/lib:/app/.heroku/python/lib:
SHLVL=1
LD_LIBRARY_PATH=/app/.heroku/vendor/lib:/app/.heroku/python/lib:
PIP_NO_PYTHON_VERSION_WARNING=1
BUILDPACK_LOG_FILE=/dev/null
STACK=heroku-22
BUILD_DIR=/tmp/build_b3caaaea
CACHE_DIR=/tmp/codon/tmp/cache
PATH=/app/.heroku/python/bin:/app/.heroku/vendor/bin::/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/tmp/codon/tmp/buildpacks/0f40890b54a617ec2334fac0439a123c6a0c1136/vendor/
EXPORT_PATH=/tmp/codon/tmp/buildpacks/0f40890b54a617ec2334fac0439a123c6a0c1136/bin/../export
C_INCLUDE_PATH=/app/.heroku/vendor/include:/app/.heroku/python/include:
DYNO=run.5378
PROFILE_PATH=/tmp/build_b3caaaea/.profile.d/python.sh
OLDPWD=/tmp/codon/tmp/buildpacks/0f40890b54a617ec2334fac0439a123c6a0c1136
_=/usr/bin/env
! Push rejected, failed to compile Python app.
! Push failed
remote: Collecting tzdata==2022.4
remote: Downloading tzdata-2022.4-py2.py3-none-any.whl (336 kB)
remote: Collecting urllib3==1.26.12
remote: Downloading urllib3-1.26.12-py2.py3-none-any.whl (140 kB)
remote: Collecting whitenoise==6.2.0
remote: Downloading whitenoise-6.2.0-py3-none-any.whl (19 kB)
remote: Building wheels for collected packages: cloudinary, psycopg2
remote: Building wheel for cloudinary (setup.py): started
remote: Building wheel for cloudinary (setup.py): finished with status 'done'
remote: Created wheel for cloudinary: filename=cloudinary-1.26.0-py3-none-any.whl size=134187 sha256=a8e60aba890ebec526fa450889f89331a3f91deb0951c91ab9e6cbcf4452cf43
remote: Stored in directory: /tmp/pip-ephem-wheel-cache-nqiyqf0q/wheels/58/0d/32/997fc6c26f83c9ae73a1bcd41028973512175982df608523ef
remote: Building wheel for psycopg2 (setup.py): started
remote: Building wheel for psycopg2 (setup.py): finished with status 'done'
remote: Created wheel for psycopg2: filename=psycopg2-2.9.4-cp310-cp310-linux_x86_64.whl size=159965 sha256=8087037db2c9ec2fdbae93eb5afd833509bbcbdbd546e980794242a06e01b87a
remote: Stored in directory: /tmp/pip-ephem-wheel-cache-nqiyqf0q/wheels/10/07/ca/a5e7863aeec605e8a19ea9ccc90bb594784c287cc5534bbecb
remote: Successfully built cloudinary psycopg2
remote: Installing collected packages: whitenoise, urllib3, tzdata, sqlparse, six, psycopg2, gunicorn, certifi, asgiref, Django, cloudinary, dj-database-url, django-heroku
remote: Successfully installed Django-4.1.2 asgiref-3.5.2 certifi-2022.9.24 cloudinary-1.26.0 dj-database-url-1.0.0 django-heroku-0.3.1 gunicorn-20.1.0 psycopg2-2.9.4 six-1.16.0 sqlparse-0.4.3 tzdata-2022.4 urllib3-1.26.12 whitenoise-6.2.0
remote: -----> $ python manage.py collectstatic --noinput
remote: Post-processing 'js/load-image.all.min.js' failed!
remote: Traceback (most recent call last):
remote: File "/tmp/build_f2d02e58/manage.py", line 22, in <module>
remote: main()
remote: File "/tmp/build_f2d02e58/manage.py", line 18, in main
remote: execute_from_command_line(sys.argv)
remote: File "/app/.heroku/python/lib/python3.10/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
remote: utility.execute()
remote: File "/app/.heroku/python/lib/python3.10/site-packages/django/core/management/__init__.py", line 440, in execute
remote: self.fetch_command(subcommand).run_from_argv(self.argv)
remote: File "/app/.heroku/python/lib/python3.10/site-packages/django/core/management/base.py", line 402, in run_from_argv
remote: self.execute(*args, **cmd_options)
remote: File "/app/.heroku/python/lib/python3.10/site-packages/django/core/management/base.py", line 448, in execute
remote: output = self.handle(*args, **options)
remote: File "/app/.heroku/python/lib/python3.10/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 209, in handle
remote: collected = self.collect()
remote: File "/app/.heroku/python/lib/python3.10/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 154, in collect
remote: raise processed
remote: whitenoise.storage.MissingFileError: The file 'js/load-image.all.min.js.map' could not be found with <whitenoise.storage.CompressedManifestStaticFilesStorage object at 0x7f5b6e77dd50>.
remote: The JS file 'js/load-image.all.min.js' references a file which could not be found:
remote: js/load-image.all.min.js.map
remote: Please check the URL references in this JS file, particularly any
remote: relative paths which might be pointing to the wrong location.
remote:
remote: ! Error while running '$ python manage.py collectstatic --noinput'.
remote: See traceback above for details.
remote:
remote: You may need to update application code to resolve this error.
remote: Or, you can disable collectstatic for this application:
remote:
remote: $ heroku config:set DISABLE_COLLECTSTATIC=1
remote:
remote: https://devcenter.heroku.com/articles/django-assets
remote:
remote: ****** Collectstatic environment variables:
remote:
remote: PYTHONUNBUFFERED=1
remote: PKG_CONFIG_PATH=/app/.heroku/vendor/lib/pkg-config:/app/.heroku/python/lib/pkg-config:
remote: DEBUG_COLLECTSTATIC=1
remote: BPLOG_PREFIX=buildpack.python
remote: PWD=/tmp/build_f2d02e58
remote: HOME=/app
remote: LANG=en_US.UTF-8
remote: SOURCE_VERSION=495ce7e183efedd2df883a898d49dab71e966050
remote: REQUEST_ID=8dbf04e4-d06f-2a07-26fd-fd9f783c0707
remote: ENV_DIR=/tmp/d20221008-55-86y9b6
remote: PYTHONPATH=.
remote: CPLUS_INCLUDE_PATH=/app/.heroku/vendor/include:/app/.heroku/python/include:
remote: BIN_DIR=/tmp/codon/tmp/buildpacks/0f40890b54a617ec2334fac0439a123c6a0c1136/bin
remote: LIBRARY_PATH=/app/.heroku/vendor/lib:/app/.heroku/python/lib:
remote: SHLVL=1
remote: LD_LIBRARY_PATH=/app/.heroku/vendor/lib:/app/.heroku/python/lib:
remote: PIP_NO_PYTHON_VERSION_WARNING=1
remote: BUILDPACK_LOG_FILE=/dev/null
remote: STACK=heroku-22
remote: BUILD_DIR=/tmp/build_f2d02e58
remote: CACHE_DIR=/tmp/codon/tmp/cache
remote: PATH=/app/.heroku/python/bin:/app/.heroku/vendor/bin::/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/tmp/codon/tmp/buildpacks/0f40890b54a617ec2334fac0439a123c6a0c1136/vendor/
remote: EXPORT_PATH=/tmp/codon/tmp/buildpacks/0f40890b54a617ec2334fac0439a123c6a0c1136/bin/../export
remote: C_INCLUDE_PATH=/app/.heroku/vendor/include:/app/.heroku/python/include:
remote: DYNO=run.5998
remote: PROFILE_PATH=/tmp/build_f2d02e58/.profile.d/python.sh
remote: OLDPWD=/tmp/codon/tmp/buildpacks/0f40890b54a617ec2334fac0439a123c6a0c1136
remote: _=/usr/bin/env
remote: ! Push rejected, failed to compile Python app.
remote:
remote: ! Push failed
remote: !
remote: ! ## Warning - The same version of this code has already been built: 495ce7e183efedd2df883a898d49dab71e966050
remote: !
remote: ! We have detected that you have triggered a build from source code with version 495ce7e183efedd2df883a898d49dab71e966050
remote: ! at least twice. One common cause of this behavior is attempting to deploy code from a different branch.
remote: !
remote: ! If you are developing on a branch and deploying via git you must run:
remote: !
remote: ! git push heroku <branchname>:main
remote: !
remote: ! This article goes into details on the behavior:
remote: ! https://devcenter.heroku.com/articles/duplicate-build-version
remote:
remote: Verifying deploy...
remote:
remote: ! Push rejected to immense-brushlands-83439.
remote:
To https://git.heroku.com/immense-brushlands-83439.git
! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/immense-brushlands-83439.git'

No module named 'requests' - Django deployment onto Heroku

Deployed some new code into an app on Heroku and now showing the following message: No module named 'requests' . The app was working fine before, so this has to be something I changed.
Before I show the code there is 2 things that I noticed: my Procfile & requirements files are not visible from Visual Studio (can be seen from Sublime Text Editor). Recently started using VS and only noticed it now. Not sure if this is of importance here.
I am not sure where the error is coming from so I left below traceback, Procfile and requirements.txt files.
Let me know if I need to add something else.
Traceback
$ git push heroku master
Enumerating objects: 111, done.
Counting objects: 100% (111/111), done.
Delta compression using up to 4 threads
Compressing objects: 100% (80/80), done.
Writing objects: 100% (81/81), 129.38 KiB | 2.59 MiB/s, done.
Total 81 (delta 23), reused 1 (delta 0), pack-reused 0
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Building on the Heroku-20 stack
remote: -----> Using buildpack: heroku/python
remote: -----> Python app detected
remote: -----> No Python version was specified. Using the same version as the last build: python-3.10.5
remote: To use a different version, see: https://devcenter.heroku.com/articles/python-runtimes
remote: !
remote: ! A Python security update is available! Upgrade as soon as possible to: python-3.10.7
remote: ! See: https://devcenter.heroku.com/articles/python-runtimes
remote: !
remote: -----> No change in requirements detected, installing from cache
remote: -----> Using cached install of python-3.10.5
remote: -----> Installing pip 22.2.2, setuptools 63.4.3 and wheel 0.37.1
remote: -----> Installing SQLite3
remote: -----> Installing requirements with pip
remote: -----> $ python manage.py collectstatic --noinput
remote: Found another file with the destination path 'Logo.png'. It will be ignored since only the first encountered file is collected. If this is not what you want, make sure every static file has a unique path.
remote: 139 static files copied to '/tmp/build_42cf0f4b/staticfiles', 5 unmodified, 378 post-processed.
remote:
remote: -----> Discovering process types
remote: Procfile declares types -> web
remote:
remote: -----> Compressing...
remote: Done: 92.2M
remote: -----> Launching...
remote: Released v53
remote: App deployed to Heroku
Procfile
web: gunicorn mysite.wsgi
Requirements.txt
asgiref==3.5.2
click==8.1.3
colorama==0.4.5
defusedxml==0.7.1
diff-match-patch==20200713
dj-database-url==0.5.0
Django==4.0.6
django-crispy-forms==1.14.0
django-heroku==0.3.1
django-import-export==2.8.0
et-xmlfile==1.1.0
Flask==2.1.3
gunicorn==20.1.0
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupPy==1.14
MarkupSafe==2.1.1
numpy==1.23.1
odfpy==1.4.1
openpyxl==3.0.10
pandas==1.4.3
Pillow==9.2.0
psycopg2==2.9.3
pymongo==4.1.1
python-dateutil==2.8.2
python-decouple==3.6
pytz==2022.1
PyYAML==6.0
six==1.16.0
sqlparse==0.4.2
tablib==3.2.1
tzdata==2022.1
Werkzeug==2.1.2
whitenoise==6.2.0
xlrd==2.0.1
xlwt==1.3.0
You have to add requests in Requirements.txt like this :
requests==2.28.1
Install request by running the below command
pip install requests
Then update your Requirements.txt just run
pip freeze > Requirements.txt
This will add all libraries that you have used in the project including the newly installed.

'"ERROR: No .egg-info directory found" during deployment to heroku

Hello I'm deploying my first project on the heroku and I got an error:
ERROR: No .egg-info directory found in /tmp/pip-pip-egg-info-wgaqr45r
I have tried to update setuptools but it's not a case. Any Idea what could go wrong?
My git bash commands:
gg#DESKTOP-PNHHOHJ MINGW64 /c/projekty/tabele/tabenv (master)
$ git push heroku master
Enumerating objects: 9199, done.
Counting objects: 100% (9199/9199), done.
Delta compression using up to 4 threads
Compressing objects: 100% (5826/5826), done.
Writing objects: 100% (9199/9199), 17.71 MiB | 4.97 MiB/s, done.
Total 9199 (delta 2302), reused 9182 (delta 2296), pack-reused 0
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Building on the Heroku-20 stack
remote: -----> Python app detected
remote: cp: cannot stat '/tmp/build_8554d289/requirements.txt': No such file or directory
remote: -----> Installing python-3.8.8
remote: -----> Installing pip 20.1.1, setuptools 47.1.1 and wheel 0.34.2
remote: -----> Installing SQLite3
remote: -----> Installing requirements with pip
remote: Obtaining file:///tmp/build_8554d289 (from -r /tmp/build_8554d289/requirements.txt (line 1))
remote: ERROR: No .egg-info directory found in /tmp/pip-pip-egg-info-wgaqr45r
remote: ! Push rejected, failed to compile Python app.
remote:
remote: ! Push failed
remote: !
remote: ! ## Warning - The same version of this code has already been built: 830c4b88b9a54ed95a860492a144d53bf95172c0
remote: !
remote: ! We have detected that you have triggered a build from source code with version 830c4b88b9a54ed95a860492a144d53bf95172c0
remote: ! at least twice. One common cause of this behavior is attempting to deploy code from a different branch.
remote: !
remote: ! If you are developing on a branch and deploying via git you must run:
remote: !
remote: ! git push heroku <branchname>:main
remote: !
remote: ! This article goes into details on the behavior:
remote: ! https://devcenter.heroku.com/articles/duplicate-build-version
remote:
remote: Verifying deploy...
remote:
remote: ! Push rejected to thawing-falls-31558.
remote:
To https://git.heroku.com/thawing-falls-31558.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/thawing-falls-31558.git'
(tabenv)
gg#DESKTOP-PNHHOHJ MINGW64 /c/projekty/tabele/tabenv (master)
$ python.exe -m pip install --upgrade setuptools pip
Requirement already satisfied: setuptools in c:\projekty\tabele\tabenv\lib\site-packages (54.0.0)
Requirement already satisfied: pip in c:\projekty\tabele\tabenv\lib\site-packages (21.0.1)
(tabenv)

Push to heroku: no module named 'channels'

I am facing this error when I add 'channels' into INSTALLED_APPS
Writing objects: 100% (4/4), 351 bytes | 0 bytes/s, done.
Total 4 (delta 3), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Python app detected
remote: -----> Installing requirements with latest Pipenv…
remote: Installing dependencies from Pipfile.lock (36121f)…
remote: -----> $ python manage.py collectstatic --noinput
remote: Traceback (most recent call last):
remote: File "manage.py", line 10, in <module>
remote: execute_from_command_line(sys.argv)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 363, in execute_from_command_line
remote: utility.execute()
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 337, in execute
remote: django.setup()
remote: File "/app/.heroku/python/lib/python3.6/site- packages/django/__init__.py", line 27, in setup
remote: apps.populate(settings.INSTALLED_APPS)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/apps/registry.py", line 85, in populate
remote: app_config = AppConfig.create(entry)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/apps/config.py", line 94, in create
remote: module = import_module(entry)
remote: File "/app/.heroku/python/lib/python3.6/importlib/__init__.py", line 126, in import_module
remote: return _bootstrap._gcd_import(name[level:], package, level)
remote: File "<frozen importlib._bootstrap>", line 978, in _gcd_import
remote: File "<frozen importlib._bootstrap>", line 961, in _find_and_load
remote: File "<frozen importlib._bootstrap>", line 948, in _find_and_load_unlocked
remote: ModuleNotFoundError: No module named 'channels'
remote:
remote: ! Error while running '$ python manage.py collectstatic --noinput'.
remote: See traceback above for details.
remote:
remote: You may need to update application code to resolve this error.
remote: Or, you can disable collectstatic for this application:
remote:
remote: $ heroku config:set DISABLE_COLLECTSTATIC=1
remote:
remote: https://devcenter.heroku.com/articles/django-assets
remote: ! Push rejected, failed to compile Python app.
remote:
remote: ! Push failed
What have I tried so far:
I disable the collectstatic and it is able to push the code to heroku but server is crashed
uninstall the channels and install again
Can anyone give me some tips,thank you.
I had the same issue. The problem was due to the fact I used django-channels (there is also django_channels) instead of channels.
The right package for django channels is in fact channels.
So just do this:
List all installed packages with channels in there names
pip list | grep channels
output:
channels (1.1.6)
channels-api (0.4.0)
django-channels (0.7.0)
Uninstall each of them(even channels) by using pip uninstall package-name:
ex: pip uninstall django-channels
Reinstall only channels (witch is called channels not 'django-channels' or 'django_channels') package using:
pip install channels
Create requirements.txt using:
pip freeze > requirements.txt

`collectstatic` error when deploying Django app to heroku

While deploying my Django app to heroku, but colletstatic method seems to throw lots of errors. I've tried several solutions posted online but none worked. By the way, I'm using whitenoise for serving my static files.
Counting objects: 77, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (74/74), done.
Writing objects: 100% (77/77), 351.57 KiB | 0 bytes/s, done.
Total 77 (delta 27), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Python app detected
remote: -----> Installing python-3.6.1
remote: -----> Installing pip
remote: -----> Installing requirements with pip
remote: Collecting Django==1.11.1 (from -r /tmp/build_d86f80f6593040bde7f9cb90828051e6/requirements.txt (line 1))
remote: Downloading Django-1.11.1-py2.py3-none-any.whl (6.9MB)
remote: Collecting gunicorn==19.7.1 (from -r /tmp/build_d86f80f6593040bde7f9cb90828051e6/requirements.txt (line 2))
remote: Downloading gunicorn-19.7.1-py2.py3-none-any.whl (111kB)
remote: Collecting whitenoise==3.3.0 (from -r /tmp/build_d86f80f6593040bde7f9cb90828051e6/requirements.txt (line 3))
remote: Downloading whitenoise-3.3.0-py2.py3-none-any.whl
remote: Collecting psycopg2==2.7.1 (from -r /tmp/build_d86f80f6593040bde7f9cb90828051e6/requirements.txt (line 4))
remote: Downloading psycopg2-2.7.1-cp36-cp36m-manylinux1_x86_64.whl (2.7MB)
remote: Collecting pytz (from Django==1.11.1->-r /tmp/build_d86f80f6593040bde7f9cb90828051e6/requirements.txt (line 1))
remote: Downloading pytz-2017.2-py2.py3-none-any.whl (484kB)
remote: Installing collected packages: pytz, Django, gunicorn, whitenoise, psycopg2
remote: Successfully installed Django-1.11.1 gunicorn-19.7.1 psycopg2-2.7.1 pytz-2017.2 whitenoise-3.3.0
remote:
remote: -----> $ python manage.py collectstatic --noinput
remote: Traceback (most recent call last):
remote: File "manage.py", line 22, in <module>
remote: execute_from_command_line(sys.argv)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 363, in execute_from_command_line
remote: utility.execute()
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 355, in execute
remote: self.fetch_command(subcommand).run_from_argv(self.argv)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/base.py", line 283, in run_from_argv
remote: self.execute(*args, **cmd_options)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/base.py", line 330, in execute
remote: output = self.handle(*args, **options)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 199, in handle
remote: collected = self.collect()
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 115, in collect
remote: for path, storage in finder.list(self.ignore_patterns):
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/staticfiles/finders.py", line 112, in list
remote: for path in utils.get_files(storage, ignore_patterns):
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/contrib/staticfiles/utils.py", line 28, in get_files
remote: directories, files = storage.listdir(location)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/files/storage.py", line 397, in listdir
remote: for entry in os.listdir(path):
remote: FileNotFoundError: [Errno 2] No such file or directory: '/tmp/build_d86f80f6593040bde7f9cb90828051e6/Nostradamus/static'
remote:
remote: ! Error while running '$ python manage.py collectstatic --noinput'.
remote: See traceback above for details.
remote:
remote: You may need to update application code to resolve this error.
remote: Or, you can disable collectstatic for this application:
remote:
remote: $ heroku config:set DISABLE_COLLECTSTATIC=1
remote:
remote: https://devcenter.heroku.com/articles/django-assets
remote:
remote: ****** Collectstatic environment variables:
remote:
remote: CPLUS_INCLUDE_PATH=/app/.heroku/vendor/include:/app/.heroku/python/include:
remote: EXPORT_PATH=/app/tmp/buildpacks/779a8bbfbbe7e1b715476c0b23fc63a2103b3e4131eda558669aba8fb5e6e05682419376144189b29beb5dee6d7626b4d3385edb0954bffea6c67d8cf622fd51/bin/../export
remote: SOURCE_VERSION=438c510c80b83b0d88b66ca02b9c8563e930b185
remote: PROFILE_PATH=/tmp/build_d86f80f6593040bde7f9cb90828051e6/.profile.d/python.sh
remote: DEBUG_COLLECTSTATIC=0
remote: BUILDPACK_LOG_FILE=/dev/fd/3
remote: LIBRARY_PATH=/app/.heroku/vendor/lib:/app/.heroku/python/lib:
remote: CACHE_DIR=/app/tmp/cache
remote: PYTHONUNBUFFERED=1
remote: PYHONHOME=/tmp/build_d86f80f6593040bde7f9cb90828051e6/.heroku/python
remote: LD_LIBRARY_PATH=/app/.heroku/vendor/lib:/app/.heroku/python/lib:
remote: BIN_DIR=/app/tmp/buildpacks/779a8bbfbbe7e1b715476c0b23fc63a2103b3e4131eda558669aba8fb5e6e05682419376144189b29beb5dee6d7626b4d3385edb0954bffea6c67d8cf622fd51/bin
remote: DYNO=run.7199
remote: PATH=/app/.heroku/python/bin:/app/.heroku/vendor/bin::/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/tmp/codon/vendor/bin:/app/tmp/buildpacks/779a8bbfbbe7e1b715476c0b23fc63a2103b3e4131eda558669aba8fb5e6e05682419376144189b29beb5dee6d7626b4d3385edb0954bffea6c67d8cf622fd51/vendor/:/app/tmp/buildpacks/779a8bbfbbe7e1b715476c0b23fc63a2103b3e4131eda558669aba8fb5e6e05682419376144189b29beb5dee6d7626b4d3385edb0954bffea6c67d8cf622fd51/vendor/pip-pop
remote: RECOMMENDED_PYTHON_VERSION=python-2.7.13
remote: C_INCLUDE_PATH=/app/.heroku/vendor/include:/app/.heroku/python/include:
remote: PWD=/tmp/build_d86f80f6593040bde7f9cb90828051e6
remote: BPLOG_PREFIX=buildpack.python
remote: LANG=en_US.UTF-8
remote: STACK=heroku-16
remote: SHLVL=3
remote: REQUEST_ID=27f7a88e-8898-45ab-b6ef-d7792fdb0a7a
remote: HOME=/app
remote: PYTHONPATH=/tmp/build_d86f80f6593040bde7f9cb90828051e6/
remote: BUILD_DIR=/tmp/build_d86f80f6593040bde7f9cb90828051e6
remote: WARNINGS_LOG=/tmp/tmp.3UgKi9FCcP
remote: PKG_CONFIG_PATH=/app/.heroku/vendor/lib/pkgconfig:/app/.heroku/vendor/lib/pkgconfig:/app/.heroku/vendor/lib/pkg-config:/app/.heroku/python/lib/pkg-config:
remote: _=/usr/bin/env
remote: ! Push rejected, failed to compile Python app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to habibam.
remote:
To https://git.heroku.com/habibam.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/habibam.git'
It's looking in the directory Nostradamus/static and throwing an error because that directory doesn't exist.
If that directory does exist locally then the problem might be that it's empty and so git doesn't track it. The simple solution to that is to create an empty file called .keep (or anything you like, it doesn't matter what it's called) in that directory which will cause git to "see" it.