J'essaie de déployer un simple python bot sur Heroku mais je reçois l'erreurcouldn't find that process type
Quand j'essaye de mettre à l'échelle les dynos. J'ai déjà fait un procfile et il ressemble à ceci:web: gunicorn dep:app
, où "dep" est le nom de mon code python
Quelle pourrait être la raison?
Cela peut se produire si votre procfile est mal orthographié, comme "procfile" ou "ProcFile" etc. Le nom du fichier doit être "Procfile" (avec un P majuscule).
parfois, changer le nom du fichier n'est pas suffisant, car git ne verrait pas le changement. J'ai dû supprimer complètement le Procfile, puis valider la modification, puis l'ajouter à nouveau avec le bon nom, puis valider à nouveau:
devrait marcher!
Assurez-vous que Procfile ne doit pas avoir d'extension comme .txt sinon ce sera l'erreur
remote: -----> Discovering process types remote: Procfile declares types -> (none)
Pour créer un fichier sans type d'extension suivant cmd notepad Procfile.
Maintenant, ajoutez web: gunicorn dep:app
et économisez maintenant quand vous git Push heroku master les lignes ci-dessus seront comme
remote: -----> Discovering process types remote: Procfile declares types -> web
Et l'erreur a disparu lorsque vous exécuterez
C:\Users\Super-Singh\PycharmProjects\URLShortener> heroku ps:scale web=1
Scaling dynos... done, now running web at 1:Free
Ce qui suit a fonctionné pour moi.
Selon cette page d'aide Herok :
Pour corriger:
Supprimez les buildpacks existants avec
heroku buildpacks:clear
. Vous devrez ajouter un commit vide et redéployer pour que les modifications prennent effet:
git commit --allow-empty -m "Adjust buildpacks on Heroku"
git Push heroku master
ce problème se produit principalement lorsque vous essayez de créer le Procfile à l'aide de l'invite de commandes ou via le terminal. Je recommande de créer le Procfile manuellement.
Si vous utilisez du code Visual Studio, cliquez sur pipfile puis sur le côté supérieur, cliquez sur le bouton créer un nouveau fichier et entrez le nom du fichier en tant que Procfile. Avant cela, supprimez le Procfile précédent et utilisez également la commande git rm procfile -f dans l'invite de commande dans votre environnement virtuel actif.
si vous utilisez un autre IDE puis ouvrez le bloc-notes et entrez cette ligne dans le site web: gunicorn mb_project.wsgi --log-file - après cela, enregistrez-le sous Procfile et placez ce fichier sous votre fichier pip .
voici le lien de mes fichiers https://github.com/YashMarmat/message-board-app.git
Vous pouvez vérifier votre version python. J'ai essayé de déployer mon projet Django afin que mon procfile ressemble à ceci web: gunicorn blog.wsgi --log-file -
Et j'ai également eu la même erreur couldn't find that process type
. et j'ai trouvé que Herok ne supporte que python-3.6.4 et python-2.7.14 alors que je viens d'avoir python3.5. Vous pouvez taper:
python -V
pour voir quelle version python vous utilisez maintenant. sinon, vous pouvez télécharger python 3.6. J'ai suivi ceci Comment installer Python 3.6 en utilisant apt-get?
Ubuntu 14.04 et 16.04
Si vous utilisez Ubuntu 14.04 ou 16.04, vous pouvez utiliser le PPA Deadsnakes de Felix Krull sur https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa :
Sudo add-apt-repository ppa:deadsnakes/ppa
Sudo apt-get update
Sudo apt-get install python3.6
Alternativement, vous pouvez utiliser le PPA de J Fernyhough à https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6 :
Sudo add-apt-repository ppa:jonathonf/python-3.6
Sudo apt-get update
Sudo apt-get install python3.6
et n'oubliez pas de vous garder python 3.5. Ne l'enlevez pas. et spécifiez votre version python dans le fichier runtime.txt: python-3.6.4
et exécutez:
heroku ps:scale web=1 --app [my app's name]
et le problème résolu. J'espère que ma réponse pourrait vous aider.