AWSのCloud9を使用していて、pythonのスクリプトを実行したときにエラーModuleNotFoundError: No module named 'boto3'が発生するときがあります。
```language-bash
$ python scripts/create_table.py
Traceback (most recent call last):
File "...
## 発生するエラー
ansible-playbookを実行すると、下記のエラーが出る。
```language-bash
$ ansible-playbook playbook.yml
/usr/local/Cellar/ansible/2.9.6_1/libexec/lib/python3.8/site-packages/netaddr/strategy/__init__.py:189: Synta...
## 発生したエラー
手元のmacOSからCentOS8.0をセットアップしようとansibleコマンドを実行しようとしたところ、下記のエラーが発生した。
```language-bash
$ ansible server-centos8 -m ping
192.168.33.10 | FAILED! => {
"changed": fals...
dockerでAlpine Linuxベースで、python3.6+mecabの環境をしたのですが、python-mecab3のpipパッケージをインストール時に、エラー`unable to execute 'swig'`が発生しました。
```language-bash
$ docker build .
...
unable to execute 'swig': No ...
dockerでpython:3.6-alpineイメージを利用してへuwsgiのインストールしようとしたところ、エラー"Exception: you need a C compiler to build uWSGI"が発生しました。
```language-bash
$pip install uwsgi
...
Failed to build uwsgi
Running ...
python3.xの環境で、wikipediaのページを読み込み、htmlの内容を文字化けせずに画面に出力させる方法です。
今回はcchardetという文字コードの自動認識を行えるpipパッケージを使ってみます。
## パッケージのインストール
```language-bash
php3 ...
pythonで配列に入ったデータをn件ごとの塊に分ける方法です。
パッケージのインストール
```language-bash
pip install more-itertools
```
スクリプト
```language-python
from more_itertools import chunked
ary = [1,2,3,4,5,6,7,8,9]
...
AWS Lambdaのデプロイメント管理ツールであるapexで、環境変数を利用する方法を説明します
## project.jsonの記述
project.jsonでは、以下のように"environment"ノードを作ることができ、この中にハッシュの形でkey-valueを記載することで環境変数を...
## インストール
apexは、下記のコマンドでインストールすることができます。macOSの場合インストール先はデフォルトで/usr/local/bin/apexになります。
```language-bash
$ curl https://raw.githubusercontent.com/apex/apex/master/install.sh | sh
...
ロリポップのレンタルサーバでpythonスクリプトを実行しようとして、sshから直接コマンドを実行すると動くのにcronから自動実行するとうまく動かないことがありました。
`which python`コマンドをそれぞれの環境で実行したところ、以下のように使用して...
cronのスクリプトからpythonのスクリプトを実行しようとしたところ、print()による日本語文字列の出力処理で、下記のエラーが発生した
```language-bash
UnicodeEncodeError: 'ascii' codec can't encode characters in position x-x: ordinal not in ra...
## プログラム
```language-python
import numpy as np
def showNpArray(ary):
x = np.array(ary)
print(x) # オブジェクトのダンプ
print(x.shape) # 各次元のサイズ
print(x.ndim) # 何次元の配列か
showN...
pythonでは、requestパッケージを利用することでスクリプトからhttpのリクエストを送信することができます。
requests.get()で実行したたHTTPリクエストに対する応答テキストをstringの文字列として取得したい場合は、戻り値に対してcontent.decode()を...
python3の環境で、ディレクトリの権限を変更しようとしてos.chmod()を実行すると、invalid tokenエラーが発生することがあります。
## プログラム
ディレクトリを作成するだけのプログラムです
```language-python
import os
dirname = 'path/t...
pythonでスクリプトを実行すると"NameError: name 'true' is not defined"エラーが発生することがあります。
エラーになる原因はpythonの真偽値はtrue, falseではなく、先頭が大文字のTrue, Falseであるためで、先頭を大文字にすれば良いです。
## ...
pythonでは、自然言語処理を行うのに便利なライブラリが数多く用意されています。
その中でも有名なNLPライブラリとして、Scikit-Learn,NLTK,Gensim,spaCy,NetworkX,Yellowbrickなどがあります。
## Scikit-Learn
- SciPyの拡張で、機械学習のライブ...
pythonで,変数がNoneTypeであるかを判定したい場合、条件式の`is None`を使用すると良いです。
## サンプルプログラム
```language-python
x = None
print(type(x))
if x is None:
print('xはNoneTypeです')
```
## 実行例
```language...
pythonのvenv環境でmatplotlibを使おうとすると以下のRuntimeErrorが発生したので、解決させた方法を書いておきます。
- エラーメッセージ
```language-xxx
RuntimeError: Python is not installed as a framework.
The Mac OS X backend will not b...
pythobでは、os.listdir()関数で、ディレクトリ内に存在するファイルの一覧を取得できます。
```language-python
import os
files = os.listdir('output')
for file in files:
print(file)
```
上記のプログラムを実行してみたところ、出...
animetranscripts.wikispaces.comというサイトでは、英語版が出ているアニメ作品の字幕スクリプトのテキストを有志の人が作成し、提供してくれています。
今回は、プログラムの勉強をかねて、このテキストを全部スクレイピングしてテキストファイルに出...
pythonで、指定されたディレクトリがなければ作成するプログラムです。
下記のサンプルでは、outputというディレクトリの存在チェックを行い、なければ作成しています。
## プログラム
```language-python
import os
if not os.path.exists('...
pythonでBeautifulSoupを使おうとしたときに「UserWarning: No parser was explicitly specified」の警告が出ることがあります。
## 実行したコード
```language-python
import requests
from bs4 import BeautifulSoup
url = 'http://animetrans...
pythonではオブジェクトをjson文字列として出力したいとき、json_dump()を使用すると便利です
```language-python
import json
import sys
json.dump({'name': 'テスト'}, sys.stdout)
```
ですが、このコードを出力すると、下記のように日本...
pythonでtf-idf処理を行う時によく利用される、TfidfVectorizer()には,単語ベクトルを成果するためにnormパラメータというものがあります。
今回、このnormの役割を確認するために、ソースコードを確認してみました。
## normパラメータの説明
公式...
pythonのscikit-learnライブラリには、tf/idf処理を行うTfidfVectorizer()という関数があります。
また、TfidfVectorizer()はtf-idf値の計算に内部的に TfidfTransformer()という関数を使用しています。
今回は、このTfidfTransformer()関数の仕様を...
pythonで対数を取る関数math.log()の使い方と、対数自体の概念のおさらいです。
特に対数は久しぶりに使うとなんの事だったか忘れてしまうので、順を追って分かりやすく説明しています。
## 対数を取る
pythonで対数の計算を行いたいときはmath.log...
pythonでは、collections.Counter()を使って配列の各要素が何回出てきたかの度数分布を簡単に求めることができます。
自然言語処理(NLP)なので単語の出現頻度(word frequency)を求めたい場合、この機能を使うと便利です。
## プログラム
```languag...
pythonで一定時間プログラムをスリープさせたい場合は、time.sleep()を使用します。
## プログラム
```language-python
import time
print('start')
time.sleep(1)
print('1sec')
time.sleep(0.5)
print('1.5sec')
```
## 実行結果
プ...
pythonで文字を改行せずに出力するには、sys.stdoit.write()メソッドを使用します。
write()で出力した文字は、出力バッファリングされます。直ぐに出力したい場合はflush()を使用します。
## サンプルコード
下記のサンプルは、1秒に一回`.`を...
pythonでシェルから直接ワンライナーのプログラムを実行したい場合は、`-c`オプションを使用します。
```language-bash
$ python -c "print('hello world')"
hello world
```
pythonでは他の言語で連想配列/ハッシュに相当するデータ構造として、辞書(Dictionary)型というものがあります。
pythonの辞書データを値の順や、キーの順でソートするサンプルコードを紹介します。
## サンプルコード
変数`data`に入ったデー...
macOS上でpythonからmecab-python3をインストールしようとしたら、エラー「mecab-config: command not found」が発生した
## 発生した事象と、解決の手順
まず、brewでmecabとmecab-ipadicをインストールする
```language-bash
brew install mecab...
pythonで文字列と数値を`+`演算子で連結すると、以下のようにTypeError: must be str, not intエラーが発生します
## エラー例
プログラム
```language-python
message = '1+1は' + (1+1) + 'です'
print(message)
```
エラー例
```language...
python3を使った数値計算に関する演算子です加減乗除は他の言語と同じなので、pythonならではのモノのみ記載します。
```language-python
# 割り算
# python3の時は、浮動小数で計算される(python2は端数が切られる)
print(3 / 2) # -> 1.5
...
pythonではtype()を使用することで変数のデータ型を確認できます。
## プログラム
```language-python
val = 1
print("- 1 -")
print(type(val))
val = 'a'
print("- 2 -")
print(type(val))
val = [1, 2, 3]
print("- 3 -")
print(type(...
pythonではpyenvを使うことで、python2系とpython3系を共存させることができます。
今回は、このpyenvをmacOSにインストールして、別バージョンのpythonをインストールしてみました。
## 実行環境
macOS High Sierra10.13.4
brewで、gitコマン...
pythonを使って、指定されたファイルの内容全部を取得した上で、ファイル内に含まれる改行を取り除き、1行に連結するプログラムです。
## プログラム
```language-python
# test01.py
text = open("input.txt").read().replace('\n', ' ')
print...
pythonでMeCabの分かち書き機能を利用して、特定のファイル内に存在する単語の出現回数を求めるプログラムです。
単語の出現回数を求めることは、自然言語処理の中ではtf(term frequency)と呼ばれています。
## プログラム
```language-python
# tf....
ファイルから読み込むと末尾に改行文字が付くので、改行を取り除く必要がある点に注意。
## プログラム
```language-python
import sys
import MeCab
m = MeCab.Tagger ("-Owakati")
for line in open('input.txt', 'r'):
words = m.par...
pythonのscikit-learnをインストールするのに必要だったダウンロードファイルのサイズをメモしておきます。
合計55Mbyteぐらいで、モバイル回線経由でも問題なくダウンロードできる程度でした。
## 実行したコマンド
```language-bash
pip install n...
AmazonLinuxで、Python3から形態素解析ライブラリのMeCabを使用できるようセットアップしたVagrantの設定ファイルを作成しました。
下記の内容をVagrantfileの名前で保存し、vagrantが入った環境で`vagrant up`するだけで環境が構築できます。
[関連...
MeCabで形態素解析を行わず、分かち書きだけ行いたい場合は、`-Owakati`オプションを使用すれば良いです。
まずは下記の内容でファイルinput.txtを用意しておきます
```language-bash
すもももももももものうち
```
その後、以下のように`-Owakat...
Linuxで作成したpythonスクリプトを実行可能な形式にするには、以下の2つを行えば良いです。
- ファイルの先頭に"#!"を追加
- ファイルに実行権限を与える
## ファイルの先頭に"#!"を追加
まずは、pythonのスクリプトの先頭に`#!/usr/bin/env pyth...
pythonでMeCabを使おうとしたところ、いろいとエラーがでてハマったので、発生したエラーと対処した方法を書いておきます。
## 作ったプログラム
今回動作させようとしたプログラムは下記で、与えられた文章の形態素解析を行うものです。
```language...
pythonではpyenvというツールを使うことで、1台のPCに複数バージョンのpython環境を共存させることができます。
pyenvは非常に便利なツールなのですが、仕組みがわかっていないと思った通りにバージョン切り替えを行えなかったりトラブルを生んでしまう...
Google App Engineを使った開発を行う際、dev_appserver.pyを実行すると`No module named 'setup'`エラーが出ることがあります。
```language-bash
> dev_appserver.py app.yaml
Traceback (most recent call last):
File "C:\Users\xxx\AppData...