0
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 3 years have passed since last update.

pyenvとvirtualenvを用いたDjangoの環境構築

Last updated at Posted at 2021-03-04

初めに

インターンで実際の現場に入って1週間ほどしか経ってないのですが、それだけでもたくさん学ぶことがあったので、アウトプットとして記事を書いてみました。

pyenv,virtualenvを利用した仮想環境の構築

pyenvとは何か

pyenvは使用するpythonのバージョンをプロジェクトごとに選ぶことができるもの。pyenvではpip install 3.8.0などでpythonのバージョンを指定することができる。

インストールできるバージョンの確認などは下記の記事を参考。

[pyenvでインストール可能なバージョン一覧を表示する方法 - Qiita]
(https://qiita.com/lighttiger2505/items/9361de2a2951b838f3b7)

virtualenvとは何か

ローカルに仮想環境を構築することができるもの。その仮想環境の中にライブラリをインストールすることが望ましい。

実際のインストールして仮想環境構築するまでの流れ

  • pyenvのインストール
    git clone https://github.com/yyuu/pyenv.git ~/.pyenv

  • virtualenvのインストール
    git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

  • .bash_profileに書き込む(ここら辺はシェルによって変わる。)

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

.bash_profileに書き込むことで毎回bash起動時に、上記のコードを読み込むことができる。

  • virtualenvでの仮想環境作成
pyenv virtualenv 3.8.0 <仮想環境の名前>
pyenv local <仮想環境の名前>

自分は指定したディレクトリ下で、仮想環境を作りたいのでlocal指定している。localがいいのかglobalがいいのかは個人の好みのような気もするが、詳しいところはあまり知らない。

また、作成した仮想環境はpyenv versionで一覧を見ることができる。

これで仮想環境構築できたので、pip install djangoなどして、使いたいライブラリをインストールすればいい。

参考記事

pyenv と pyenv-virtualenv で環境構築 - Qiita
pyenvとpyenv-virtualenvの自分流使い方 - Qiita

詰まったところ

自分はpythonディストリビューションであるanacondaを元々インストールしていたためなのか、環境構築に詰まった。詳しいところはまだよく分からないが、anacondaをdeactivateなどしてから、環境構築を始める必要がある。

また時間があったら調べて、anacondaを入れてる状態から仮想環境を構築するまでの記事を書きたいと思う。

間違いが見つかり次第、随時更新してきたい
0
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
0
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?