Tech Blog

Pythonをインストールして仮想環境を作成しモジュールをいれてリクエストをおくる

Windows10 64bit 環境にPythonをインストールして任意のURLにリクエストをおこないレスポンスをテキストファイルに保存する

まずは公式サイト(https://www.python.org/downloads/)よりインストーラーをダウンロードしてインストールします。その際、「Add Python 3.9 to PATH」にチェックを入れてパスを通しておきます。

動作確認

pythonと入力します。

> python
Python 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

help()を入力してみます。

>>> help()

Welcome to Python 3.9's help utility!

If this is your first time using Python, you should definitely check out
the tutorial on the Internet at https://docs.python.org/3.9/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To quit this help utility and
return to the interpreter, just type "quit".

To get a list of available modules, keywords, symbols, or topics, type
"modules", "keywords", "symbols", or "topics".  Each module also comes
with a one-line summary of what it does; to list the modules whose name
or summary contain a given string such as "spam", type "modules spam".

helpから抜けるにはqを入力します。

help> q

pythonコマンドから抜けるにはquit()を入力します。

>>> quit()

仮想環境の構築

Pythonでは仮想環境をつくることができ、その環境ごとにモジュールをインストールすることが出来ます。

> python -m venv .venv

このコマンドを実行すると.venvフォルダがつくられ、その配下にファイルが配置されます。

.venv/Include/省略
.venv/Lib/省略
.venv/Scripts/省略
.venv/pyvenv.cfg

仮想環境を有効化します。

> .venv/Scripts/Activate.ps1

有効化されるとコマンドラインの先頭に(.venv)がつきます。

(.venv) PS C:>

無効化するときは以下を入力します。

> deactivate

今回実行するスクリプトではrequestsモジュールを使用するのでインストールします。インストールされたモジュールはLib/site-packagesフォルダに配置されます。

> python -m pip install requests
Collecting requests
  Using cached requests-2.25.1-py2.py3-none-any.whl (61 kB)
Collecting idna<3,>=2.5
  Using cached idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting chardet<5,>=3.0.2
  Using cached chardet-4.0.0-py2.py3-none-any.whl (178 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.3-py2.py3-none-any.whl (137 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
Installing collected packages: idna, chardet, urllib3, certifi, requests
Successfully installed certifi-2020.12.5 chardet-4.0.0 idna-2.10 requests-2.25.1 urllib3-1.26.3

実行

スクリプトファイルを作成しsample.pyという名前で保存します。

<!-- wp:code {"className":"language-py"} -->
<pre class="wp-block-code language-py"><code>import requests
with open('sample.txt', 'w', encoding='UTF-8') as f:
print(requests.get('https://www.yahoo.co.jp').text, file=f)</code></pre>
<!-- /wp:code -->

コマンドラインから実行します。

> python sample.py

https://www.yahoo.co.jpへリクエストをおこないレスポンスをsample.txtというファイル名で保存されると成功です。

モジュールのリストの保存と再利用

今回作成した仮想環境を別の仮想環境でも再現したい場合は、以下のコマンドでモジュールが記載されたテキストファイルを作成できます。

> python -m pip freeze > requirements.txt

certifi==2020.12.5
chardet==4.0.0
idna==2.10
requests==2.25.1
urllib3==1.26.3

別の仮想環境で以下のコマンドでモジュールをインストールすることが出来ます。

> python -m pip install -r requirements.txt