Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Triển khai module Python lên Heroku

Giả sử bạn đã setup Python 3.6, Pipenv và heroku CLI local, đã login Heroku từ CLI theo bước tại: https://devcenter.heroku.com/articles/getting-started-with-python#set-up.

App cần git repository để deploy lên Heroku. cd vào thư mục root của git repo code. Tạo Heroku app:

$ heroku create
Creating lit-bastion-5032 in organization heroku... done, stack is cedar-14
https://lit-bastion-5032.herokuapp.com/ | https://git.heroku.com/lit-bastion-5032.git
Git remote heroku added

Khi tạo app, git remote (gọi là heroku) cũng được tạo và gán với local git repo. Heroku sinh tên ngẫu nhiên (ví dụ lit-bastion-5032), hoặc bạn truyền tham số để đặt tên app riêng.

Push code lên Heroku:

$ git push heroku master
Counting objects: 232, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (217/217), done.
Writing objects: 100% (232/232), 29.64 KiB | 0 bytes/s, done.
Total 232 (delta 118), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Python app detected
remote: -----> Installing python-3.6.0
remote: -----> Installing requirements with latest pipenv...
remote:      Installing dependencies from Pipfile.lock...
remote:      $ python manage.py collectstatic --noinput
remote:      58 static files copied to '/app/gettingstarted/staticfiles', 58 post-processed.
remote:
remote: -----> Discovering process types
remote:      Procfile declares types -> web
remote:
remote: -----> Compressing...
remote:      Done: 39.3M
remote: -----> Launching...
remote:      Released v4
remote:      https://lit-bastion-5032.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To git@heroku.com:lit-bastion-5032.git
 * [new branch]      master -> master

Lưu ý: cần chỉ định requirement (third-party module import) kèm version trong requirements.txt. Ví dụ:

Flask==0.8
Jinja2==2.6
Werkzeug==0.8.3
certifi==0.0.8
chardet==1.0.1

Đọc thêm tại Heroku Python docs: https://devcenter.heroku.com/articles/python-pip