Skip to content

Commit

Permalink
pyvenvの説明を詳細化、それに伴い別章に分離
Browse files Browse the repository at this point in the history
  • Loading branch information
Akira-Taniguchi committed May 23, 2016
1 parent c7a2b90 commit fa1f999
Show file tree
Hide file tree
Showing 4 changed files with 97 additions and 33 deletions.
32 changes: 0 additions & 32 deletions source/5_module.rst
Original file line number Diff line number Diff line change
Expand Up @@ -200,38 +200,6 @@ Pythonの公式ドキュメントの「 `reモジュール <http://docs.python.j
また、他のPython標準ライブラリについては、「 `Python標準ライブラリ <http://docs.python.jp/3.5/library/index.html>`_ 」を参考にしてください。


環境構築
------------------
開発モジュールやプロジェクトごとに開発環境を分割したい場合があります。

Pythonにはpyvenvというコマンドがあり、それを使うことにより可能になります。


.. code-block:: python
:caption: pyvenv使用例
pyvenv sample #sampleという名前の環境を構築
source sample/bin/activate #構築した環境にactivate(有効化)
次にpipというコマンドを使い、pypiから必要なパッケージをインストールしてみましょう。

pypiとは、Python公式のパッケージリポジトリです。

また、pipというPythonで書かれたパッケージ管理システムを使うことにより、

pypiから便利なライブラリをすぐに取得して利用することができます。

また、ライブラリは構築した環境のみにインポートされるため、他の環境に影響を与えません。

.. code-block:: python
:caption: pip使用例
pip install requests #requestsというhttpレスポンスを処理するライブラリをインストール
上記手順は次のスクレイピングの章で必要になりますので、覚えておいてください。

まとめ
==========

Expand Down
95 changes: 95 additions & 0 deletions source/6_pyvenv.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
.. -*- coding: utf-8 -*-
.. _virtualenv-section:

============
pyvenv
============

:節サブタイトル: 隔離されたPythonの実行環境

本節では、pyvenvを用いた隔離されたPythonの実行環境の作り方と使い方を説明します。

はじめに
========

複数のプロジェクトで異なるサードパーティ製パッケージを利用することはよくあります。その場合、プロジェクトごとにインストールするパッケージを切り替えられると便利です。

pyvenvはプロジェクトごとに隔離された環境を作成します。


pyvenv環境の作成
====================

pyvenv環境を作成します。

作成には ``pyvenv`` コマンドを使用します。引数には作成する環境の名前を指定します。

.. code-block:: sh
:caption: pyvenv環境の作成
$ pyvenv env
カレントディレクトリに、envというディレクトリが作成されます。

virtualenv環境の有効化
======================

作成した ``pyvenv`` 環境を有効化(activate)します。

そのためにはbashスクリプトのenv/bin/activateを ``source`` コマンドで実行します(:numref:`pyvenv-activate`)。

.. _pyvenv-activate:

.. code-block:: sh
:caption: pyvenv環境の有効化
$ source env/bin/activate
(env)$
``pyvenv`` 環境を有効化すると、プロンプトの前に環境名(ここでは ``env`` )が表示されます。そして、環境変数 ``PATH`` の先頭にenv/binが追加され、 ``pyvenv`` 環境のPythonが実行されるようになります。

例として、 ``pip`` というPython公式のパッケージリポジトリからパッケージをインストールできるコマンドで ``requests`` (HTTPクライアントのパッケージ)をインストールします(:numref:`pyvenv-install-requests`)。

.. _pyvenv-install-requests:

.. code-block:: sh
:caption: パッケージのインストール
(env)$ pip install requests
(env)$ python
>>> import requests
>>> # requestsがインポートできる
``requests`` が ``env/lib/python3.5/site-packages`` 配下にインストールされます。(TODO ここあとで調べる!!)

またPythonパッケージの中にはコマンドとして実行可能なファイルが含まれている場合があります。それらのファイルは ``env/bin`` 配下にインストールされます。

pyvenv環境の無効化
======================

``pyvenv`` 環境を無効化(deactivate)するには、 ``deactivate`` コマンドを実行します(:numref:`pyvenv-deactivate`)。

無効化した後、元の環境で ``requests`` をインポートするとエラーとなり、 ``pyvenv`` 環境でのみ ``requests`` がインストールされていることがわかります。

.. _pyvenv-deactivate:

.. code-block:: sh
:caption: pyvenv環境を無効化
(env)$ deactivate
$
$ python
>>> import requests
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named requests
>>> # エラーが出力される
まとめ
=======

本節では、プロジェクトごとに隔離した ``pyvenv`` 環境について、作成、有効化/無効化を行う方法を説明しました。

次節では、テストと品質に関連するツールを紹介します。
File renamed without changes.
3 changes: 2 additions & 1 deletion source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ Pythonの開発環境構築、基礎的な文法や実践応用についてま
3_types
4_collections
5_module
6_scraping
6_pyvenv
7_scraping


Indices and tables
Expand Down

0 comments on commit fa1f999

Please sign in to comment.