mieki256's diary



2019/09/07() [n年前の日記]

#2 [python][linux] venv や pipenv を使ってみたり

Pythonの仮想環境を構築できるらしい、venv や pipenv を触ってみたり。

状況。 :

Ubuntu 18.04上で sudo apt install python3 をすると、python 3.6 がインストールされる。

その状態で pyxel をインストールすると…。
sudo -H pip3 install pyxel
pyxel 1.0.2 がインストールされる。

しかし、pyxel の現行版は 1.2.6 らしい。pyxel最新版を使ってみたいが、Python 3.7 を要求されてしまう。

Ubuntu 18.04 は、sudo apt install python3.7 とすることで python3.7 をインストールすることもできるし、python3.7 --version で Python 3.7 が動くことも確認できる。しかし、この状況で pyxel をインストールする方法が分からない。

ググってみたら、pipenv なるものを使うと環境を切り替えて使うことができるらしいと知った。
sudo -H pip3 install pipenv

更にググっていたら、virtualenv なるものを使っても仮想環境が構築できるらしい。
sudo apt install virtualenv virtualenvwrapper

_Ubuntu 18.04 LTSでのVirtualenvを用いたPython環境構築方法 - Qiita

と思ったら、venv なるツールが virtualenv を前身として作られていたらしい。

_Ubuntu Linux 18.04 LTSで、Pythonの仮想環境(venv)を使用する - CLOVER
_pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。 - Qiita
_Pythonのパッケージ周りのベストプラクティスを理解する - エムスリーテックブログ

結局どれを使えばいいのやら…。よく分からないが、venv を使ってみることにした。環境は Ubuntu 18.04 LTS。

venvを使う。 :

インストールしてみる。
sudo apt install python3-venv python3.7-venv

適当なフォルダを作成して、仮想環境を作成。
cd ~/prg
mkdir py37
cd py37
python3.7 -m venv py37

仮想環境を有効にする。
$ source py37/bin/activate
(py37) $ python3 --version
Python 3.7.3
python3 を実行しているのに、Python 3.6 ではなく 3.7 が実行されていることが分かる。

仮想環境から抜ける。
(py37) $ deactivate
$ python3 --version
Python 3.6.8
python3 が 3.6.8 に戻った。

仮想環境を有効にして pyenv をインストールしてみる。
$ source py37/bin/activate
(py37) $ pip3 install pyxel
何かエラーが出たけれど、pyxel 1.2.6 がインストールされたっぽい。

pyxel のサンプルをインストール。
(py37) $ mkdir pyxel
(py37) $ cd pyxel
(py37) $ install_pyxel_examples
pyxel_examples というディレクトリが作られて、その中にサンプルファイルがいくつか入った。

(py37) $ cd pyxel_examples
(py37) $ python3 01_hello_pyxel.py
実行できた。

pipenvを使う。 :

pipenv のほうが venv よりスゴイという話を見かけたので触ってみる。何がスゴイのかはよく分からないけれど。

pipenv をインストール。
sudo -H pip3 install pipenv

何か適当なフォルダを作成して、中に入る。
$ mkdir pipenv
$ cd pipenv

利用する Python のバージョンを指定。
$ pipenv --python 3.7.3
何かが色々と生成された。

仮想環境の Python を使うように切り換え
$ pipenv shell
(pipenv) $ python3 --version
Python 3.7.3
python 3.7.3 が使われる状態になった。

pyxelをインストール。かつ、パッケージのインストール状態を確認。
(pipenv) $ pipenv install pyxel

(pipenv) $ pipenv graph
pyxel==1.2.6
  - pyinstaller [required: Any, installed: 3.5]
    - altgraph [required: Any, installed: 0.16.1]
    - setuptools [required: Any, installed: 41.2.0]
pyxel 1.2.6 がインストールされていることが分かる。

pyxel をアンインストールしてみる。
(pipenv) $ pipenv uninstall pyxel
Uninstalling pyxel…
Uninstalling pyxel-1.2.6:
  Successfully uninstalled pyxel-1.2.6

Removing pyxel from Pipfile…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock (a65489)!

(pipenv) $ pipenv graph
PyInstaller==3.5
  - altgraph [required: Any, installed: 0.16.1]
  - setuptools [required: Any, installed: 41.2.0]
pyxel がアンインストールされた。

仮想環境を抜ける。
(pipenv) $ exit

仮想環境を削除。
$ pipenv --rm

以上です。

過去ログ表示

Prev - 2019/09 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project