LoginSignup
6
8

More than 5 years have passed since last update.

Pythonの仮想環境の構築

Posted at

pythonの仮想環境

仮想環境の必要性

作成するアプリごとにインストールしたいパッケージが違うことがあります。
また、クラスが多くなるにつれてローカル環境のPCのものを使うとどれが使用しているパッケージかわからなくなることがあります。
そのため、このアプリにはこれをいれたいというものだけを仮想環境として作ったpythonの環境に入れていきましょう。

virtualenvのインストール

私はWindowsでUbuntuアプリを使っています。
なので、コマンドはdebian系でaptを使って操作していきます。
macを使っていたらbrewだったり、CentOSの場合はyumだったりパッケージマネージャによってコマンドが違うので適切にコマンド変えてください。

パッケージマネージャ別コマンド
https://hydrocul.github.io/wiki/others/linux-pkg-manager.html

パッケージマネージャについての解説がわかりやすかったサイト
https://eng-entrance.com/category/linux/linux-package

パッケージマネージャとは、簡単に使いたいものを使えるようにするために依存関係があるものをとってきたりしてくれる便利な管理システムのようです。
pythonならpip,Node.jsならnpmなどOSだけじゃなくていろいろなところでパッケージマネージャは使われているようです。

というわけでpython3の仮想環境を作るためのパッケージをインストールします。

pip3 install virtualenv

pip3 が入っていない場合はsudo apt install python3-pipとかでいけると思います。

そしたら、好きなところにフォルダを作ります。

mkdir python-test

そのフォルダに移動します。

cd python-test

仮想環境を作ります。

virtualenv venv

venvじゃなくても好き名前でOKです。

その名前のフォルダができます。

python2になってしまう場合には下記でpython3にできました。

virtualenv -p python3 venv

そしたら仮想環境を有効にします。

source {作ったフォルダ名}/bin/activate

仮想環境が有効になると(フォルダ名)が下記のように名前の前に表示されるようになります。

(venv)hoge@ubuntu:~/python-test

このvenvを有効にしている間にpip3 install {パッケージ}としたものは、この仮想環境にインストールされます。

仮想環境から出たい場合にはdeactivateとすると仮想環境が無効になります。

仮想環境の注意

初心者でよくわからずvirtualenvを使っていると、仮想環境にいない状況でpythonを起動してインポートしたはずのパッケージが入っていない!となることがあります。
また、仮想環境じゃなくてもpython2とpython3でインストールしたパッケージが違う場合があります。

インポートしたはずのパッケージが入っていない場合、下記を確認してみてください。

  • python2とpython3を交互に動かしていないか

    • python2とpython3が存在する場合pythonコマンドを打つとpython2,python3コマンドを打つとpython3が起動されます。
    • which pythonでpython2がどこに存在するか、which python3でpython3がどこに存在するかを確認できます。
    • python2もpython3も存在する場合、pip install でいれるとpython2にインストールされます。pip3 installでインストールしなおしましょう。
    • 現在起動しているのが、python2なのかpython3なのか確認してみてください。
    • pip freezeでインストールされているライブラリー一覧を確認できます。python3の場合はpip3 freezeで確認できます。
  • 仮想環境が動作しているか

    • virtualenvでpythonの環境を作った場合、source {作成した仮想環境フォルダ}/bin/activateというように仮想環境を有効にしないと仮想環境に入れたパッケージは使えません。有効にしていない状態で起動したpythonはローカル環境で動く普通のpythonです。そっちにインポートしたライブラリしか動きません。

というわけで、初期によくわからなかった仮想環境についての構築手順についてまとめました。
参考になれば幸いです。

6
8
1

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
6
8