1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MIXI DEVELOPERSAdvent Calendar 2023

Day 16

Python3.11 x Flaskで開発環境を構築する。

Last updated at Posted at 2023-12-15

本投稿はMIXI DEVELOPERS Advent Calendar 2023の16日目の記事です。
他の記事も面白いものが多いのでぜひ見てください!

目的

LambdaでちょっとしたAPIを作りたいって時ありますよね?
私はPythonを選択する時が多いのですが、ここではPythonとAPI作成でよく使用するFlaskの開発環境を構築していきます。

前提条件

  • macユーザ
  • Homebrewがインストール済

手順

pyenv

Pythonのバージョンを管理するpyenvをインストールする。

$ brew install pyenv

Python

pyenvを使用してPythonをインストールする。
今回はlambdaに使用したいので、こちらのページから利用できる最新版をインストールする。

 % pyenv install 3.11  
python-build: use openssl@3 from homebrew
python-build: use readline from homebrew
Downloading Python-3.11.7.tar.xz...
-> https://www.python.org/ftp/python/3.11.7/Python-3.11.7.tar.xz
Installing Python-3.11.7...
python-build: use readline from homebrew
python-build: use zlib from xcode sdk
Installed Python-3.11.7 to /Users/satoshi.baba/.pyenv/versions/3.11.7

pyenvでインストールしたPythonへのパスを通す。

$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
$ source ~/.zshrc

全体で使用するPythonのバージョンを指定する。

$ pyenv global 3.11.7

$ python --version
Python 3.11.7

pipenv

依存関係管理をしてくれるpipenvをインストールする。

$ brew install pipenv
==> Installing dependencies for pipenv: gdbm, sqlite, xz and python

(中略)

zsh completions have been installed to:
  /opt/homebrew/share/zsh/site-functions

Flask

PythonでAPIを作るときに割とベターなFlaskを導入する。

適当なディレクトリに移動する。

$ cd ProductName

pipenvでFlaskを突っ込む。

$ pipenv install flask

HelloWorldを出力するソースを置いてみる。

HelloWorld.py
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    name = "Hello World"
    return name

if __name__ == "__main__":
    app.run(debug=True)

pipenvコマンドで仮想マシンを立てて実行する。

$ pipenv run python HelloWorld.py 
 * Serving Flask app 'HelloWorld'
 * Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on http://127.0.0.1:5000
Press CTRL+C to quit
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 120-449-468

途中で出力されているURLをブラウザで開くとHello Worldが表示される。
http://127.0.0.1:5000/

これ環境構築終わり。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?