12,788
回編集
88行目: | 88行目: | ||
<br> | <br> | ||
Pythonと仮想環境の設定を行う。<br> | Pythonと仮想環境の設定を行う。<br> | ||
python3 -m venv | これにより、プロジェクトごとに独立したPython環境を作成することができる。<br> | ||
python3 -m venv <作成する仮想環境のディレクトリ名> | |||
<br> | <br> | ||
Pythonの仮想環境をアクティベートする。<br> | |||
<br> | |||
source venv/bin/activate | source venv/bin/activate | ||
<br> | <br> | ||
必要なPythonライブラリをインストールする。<br> | 必要なPythonライブラリをインストールする。<br> | ||
pip install fastapi uvicorn sqlalchemy | pip install fastapi uvicorn sqlalchemy | ||
<br> | |||
<u>※注意</u><br> | |||
<u>venv/bin/activateスクリプトを~/.profileファイル等に設定することは非推奨である。</u><br> | |||
* <u>activateスクリプトは相対パスで動作するため、フルパスで指定する必要がある。</u> | |||
* <u>常に特定の仮想環境がアクティブになってしまうため、他のプロジェクトで異なる仮想環境を使用する場合に問題が発生する。</u> | |||
* <u>シェルのセッションごとに自動的にアクティベートすると、どの環境で作業しているのか理解しにくい。</u> | |||
<br> | |||
<u>代替案として、以下に示すような方法が推奨される。</u><br> | |||
<u>以下に示すような方法ならば、必要な時のみ仮想環境をアクティベートすることが可能なため、柔軟な運用が可能になる。</u><br> | |||
<br> | |||
<u>特に、複数のプロジェクトを扱う場合は、2番目や3番目の方法が便利である。</u><br> | |||
<br> | |||
<syntaxhighlight lang="sh"> | |||
# 方法 1 | |||
# エイリアスを設定する方法 (~/.profileファイル等に記述) | |||
alias activate-myproject='source <activateスクリプトのパス>' | |||
</syntaxhighlight> | |||
<br> | |||
<syntaxhighlight lang="sh"> | |||
# 方法 2 | |||
# プロジェクトディレクトリに入った時のみ自動的にアクティベートする方法 (~/.profileファイル等に記述) | |||
function cd() | |||
{ | |||
builtin cd "$@" | |||
# プロジェクトディレクトリに入った時のみ仮想環境をアクティベート | |||
if [ -d "venv" ]; then | |||
# 既に仮想環境がアクティブでない場合のみ | |||
if [ -z "$VIRTUAL_ENV" ]; then | |||
source venv/bin/activate | |||
fi | |||
fi | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
<syntaxhighlight lang="sh"> | |||
# 方法 3 | |||
# direnvのような専用ツールを使用する方法 | |||
# プロジェクトディレクトリの.envrcファイルに記述 | |||
layout python3 # Pythonの仮想環境を自動的に管理 | |||
</syntaxhighlight> | |||
<br> | <br> | ||
==== Node.js + Expressを使用する場合 ==== | ==== Node.js + Expressを使用する場合 ==== |