以前から興味はあったものの手を出せていなかったpythonですが、調べていたところxamppを使って比較的かんたんに試せそうだったので動作するようにいろいろ設定して動かしてみました。
Anacondaをインストール
Windowsでpythonを動かすための方法はいろいろあると思いますが、今回はAnacondaをインストールします。
Anaconda (アナコンダ) とは
Python 本体に加え、科学技術、数学、エンジニアリング、データ分析など、よく利用される Python パッケージ(2016 年 2 月時点で 400 以上)を一括でインストール可能にしたパッケージ
インストールはダウンロードし、インストーラーを起動すればよいだけなので簡単です。
Anacondaはいろいろ使えるようですが、今回はとりあえずpythonを使いたいだけなのでインストールだけしておいておきます。
XAMPPの設定
次にXAMPPの設定をします。
XAMPPがインストールしてあるディレクトリのxampp/apache/confの中にあるhttpd.confを開き、以下の記述を追加します。
追加場所はどこでもよいですが、一番下がわかりやすくよいかと思います。
AddHandler cgi-script .py
ScriptInterpreterSource Registry-Strict
記述して保存したあとは、XAMPPを再起動。これでpythonファイルが認識されるようになるので、次はpythonファイルを作成し実行してみます。
Pythonファイルを記述して表示する
hoge.pyというファイルをXAMPPのhtdocs以下の適当なフォルダに作成して開き、以下のように記述します。
#!C:/~ファイルまでのパス/Continuum/anaconda3/pkgs/python-3.6.4-h6538335_1/python.exe
# -*- coding: utf-8 -*-
print("Content-Type: text/html\n")
print ("Hello World")
- 最初の行に、Anacondaでインストールしたpython.exeまでのパス
- 2行目に文字コード。
- 3行目にファイルの種類。今回はHTML。
その後は実行したいコードを書きます。今回はHello Worldという文字列を表示させています。
これでhttp://localhost/設置ディレクトリ/hoge.pyにアクセスし、「Hello World」が表示されていればOKです。
importを使う
おまけ的なのになりますが、pythonではライブラリを読み込むときに、importを使うのですが、そのまま
import ライブラリ名
としても動きませんでした。
xamppのエラーログを見たところ ModuleNotFoundError: No module namedとあったので、ライブラリまでのパスが合っていないのだろうと思い
いろいろ調べたところ、importで指定する階層を設定できる記述があったので、これを記述します。
以下はyahooのHTMLを取得するコードです。
importでrequests(HTTPライブラリ)を使用します。
#!C:/~ファイルまでのパス/Continuum/anaconda3/pkgs/python-3.6.4-h6538335_1/python.exe
# -*- coding: utf-8 -*-
print("Content-Type: text/html\n")
# ライブラリのパスを上書きする記述
import sys
sys.path.append("/Users/~ファイルまでのパス/Continuum/anaconda3/Lib/site-packages")
import requests
get_url_info = requests.get('https://yahoo.co.jp/')
print(get_url_info.text)
sysがパスを変更するライブラリでこちらにライブラリがある階層までのパスを記述すると、以降のimportのパスが変わってくれます。
コメント