Python関連のことを調べてみた2022年06月02日

Python関連のことを調べてみた2022年06月02日

pip install fasttext できない

# pip で fastText のインストールに失敗する

`pip install fasttext` しようとすると`error: command ‘gcc’ failed with exit status 1`
のようなエラーを吐いてインストールに失敗する場合があります。

これは、インストールに必要な GCC のバージョンが古いことが原因です。
fasttext では C++14 の機能を使うため、GCC 6.1 以降が必要になります。
“`
gcc –version
“`
で6.1 以下の場合、アップデートしましょう。

centos7 ではデフォルトだと GCC 4.8.x が入っていたりするのでこの現象に遭遇するようです。
centos7 の人は下記のコマンドで gcc のバージョンアップができます。
“`
yum install centos-release-scl
yum install devtoolset-8
scl enable devtoolset-8 — bash
“`

## 参考
以前は そもそも pip でインストールすること自体に

元記事を表示

Twitter の位置情報収集

# はじめに
一身上の都合で、緯度・経度からなる手軽なGIS(Geographic Information System)データが欲しいという状況になった。そこで注目したのが、Twitter の位置情報付きのつぶやきである。あるキーワードに該当するような位置情報付きのつぶやきを集めれば、それは立派なGISデータになる。そこで、Twitter API に登録し、できる限り無料枠内で tweet の情報を集める方法を紹介したいと思う。

# Twitter API の認証情報の取得
こちらについては、すでに既存の記事に詳しい方法が載っているので、そちらを参考にしてほしい。

– [Twitter APIで遊んでみた ~1. 各種キーの申請と取得~](https://tech-lab.sios.jp/archives/21238)
– [2021年度版 Twitter API利用申請の例文からAPIキーの取得まで詳しく解説](https://www.itti.jp/web-direction/how-to-apply-for-twitter-api/)

上記の記事にもあるが、Tweet の

元記事を表示

selenium から Twitter にログインして画像投稿

TwitterにPythonからログインして画像を伴って投稿する方法のメモ。
AlmaLinux, Chrom, Mac で確認。

Python 3.6.8
Google Chrome 98.0.4758.102, 96.0.4664.110, 102.0.5005.61
selenium 3.141.0

[selenium から Twitter にログインして投稿](https://qiita.com/katafuchix/items/8d4c2bed73d79ba072d9) の続編

## 投稿

「input type=file」 要素に投稿したい画像を指定

“`python
def send_tweet(text):
# テキスト入力
element_text = driver.find_element_by_class_name(“notranslate”)
element_text.click()
element_text.send_keys(text)

# 画像選択 & アップロード
image_file_pa

元記事を表示

PythonでCloud Functionにあげる

## ターミナルからFunctionを作成

requirements.txt

functions-framework==3.0.0

main.py

import functions_framework

@functions_framework.http
def test(request):
return ‘Hello World!’

ターミナルコマンド

gcloud functions deploy test\
–timeout=540 \
–runtime python39 \
–trigger-http \
–project プロジェクト名

※サービスアカウントを作成していたら` –service-account サービスアカウント名`も追加
FunctionのトリガーからトリガーURLを叩いて`Hello World`が表示されたらOK!

## 最後に

ターミナルコマンドなど備忘録として作成しました。
たったこれだけで、Functionが作成できてしまうなんて..

元記事を表示

PythonでCloud Tasksを使ってみた

## Tasksを使った理由

データ量が膨大すぎたのでCloud Tasksを使って、分割させるため

## コンソール

Google Cloud PlatformのCloud Tasksから`push キューの作成`を行う
キュー名:test
リージョン:asia-northeast1(東京)

## コード

requirements.txt

google-cloud-tasks

上記を追加

app.py

import json
import os
from flask import Flask, request
from google.cloud import tasks_v2

app = Flask(__name__)

values = [1,2,3,4,5,6,7,8,9]

# tasksにセット
@app.route(‘/set_tasks’, methods=[‘POST’])
def set_tasks():

executions_data

元記事を表示

【Python】iniファイルの読み込み方法(ConfigParser)

簡単な例を用いて紹介。

#### iniファイル

“`
[test1]
name = aaa

[test2]
name = bbb
“`

#### ソースコード

“`python
#!/usr/bin/python3

import configparser

config = configparser.ConfigParser()
config.read(‘test.config’)
print(config.sections())
print(config[‘test1’][‘name’])
“`

#### 実行結果

“`shell
$ ./test_ini.py
[‘test1’, ‘test2’]
aaa
“`

色々組合せばiniファイルの値を操作できるようになる。

元記事を表示

Pysparkにおけるキャッシュの利用

## はじめに
こんにちは。株式会社ジール所属の@oreo_tです。

最近、PySparkでキャッシュを利用したパフォーマンス改善をしたのでTipsとしてまとめます。
キャッシュ利用の背景としては、顧客情報に対して複数の加工をするときに必要になりました。
例えば、契約者には契約情報、負傷者には治療情報など、顧客テーブルのデータに対して役割ごとに違うテーブルの情報を結合しています。
そこで、結合のたびに都度顧客テーブルを呼び出すと時間がかかるという状況を改善するために、キャッシュを使用しました。

## Pysparkのキャッシュとは?
PysparkのDataframeをメモリ上(またはディスク上)で保持することにより、一つの処理の中で複数回Dataframeを呼び出すときにパフォーマンスを向上することができる機能です。
Pysparkにおけるキャッシュは関数が用意されていて、「persist」と「cache」の2種類があります。

## Pysparkのキャッシュの種類
### persist
引数にStorageLevelを入れるとどこにキャッシュするか指定できます。
以下、S

元記事を表示

【TextFSM/ntc-templetes】サポートされているテンプレートってどれぐらいあるの?(2022/6/2現在)

# サポートされているテンプレートってどれぐらいあるの?

気になったので調べてみました
メジャーどころの`ntc_templates/templates/index`より抽出

![temp_sum.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223925/ad7b26ef-4e53-1957-71d2-7478b1d50146.png)

Gineparserよりも多くのベンダーをサポートしているのはとてもいいですね。
yamahaも対応しているとは知りませんでした!調べてみてよかったです。
前回の記事でGineparserの対応NOSについて調査しましたが、こうしてみると普段触っていないベンダーが海外ではメジャーみたいですね。
– arista_eos
– alcatel_srosなど

NTC-templeteを試したい場合、こちらのサイトが便利です。
[Webfsm](https://webfsm.kooshin.net/)

# プラットフォームごとのテンプレート内訳
アルファベット順で

元記事を表示

HappyDBで『幸せな瞬間』を文書分類してみる

突然ですが…__この1日の間で、幸せだと感じた瞬間ってありますか?__

日本語で「幸せ」と言うとやや仰々しい感じがするので、
__この1日の間で、良かったことってありますか?__
という質問と捉えてもらってよいと思います。

この質問に対する回答を集めたデータベースが「HappyDB」です。
その数なんと、100,000個、です!

HappyDBには、幸せな瞬間を7つのカテゴリに分類したアノテーションが付与されているのですが、本記事は、__HappyDBを題材に文書分類を試してみた__、という内容になります。

本記事の内容が何らかの形で参考になりましたら幸いです。

# 対象読者
– 自然言語処理の初学者
– 文書分類に興味がある方
– HappyDB(幸せな瞬間データベース)に興味がある方

# HappyDB とは?
HappyDBは、リクルートのAI研究所 [Megagon Labs](https://www.megagon.ai/jp/)が2017年に作成した、「幸せな瞬間」(”Happy Moment”)の記述文を集めたデータセットです。言語は英語です。

クラウドソー

元記事を表示

YOLOv5で物体検出と自前データを使った学習をしてみた

# はじめに
前回までで画像認識について勉強してきたので、次のステップとして[こちら](https://laid-back-scientist.com/yolo-v5#toc3)を参考に画像の物体検出に取り組んでみた。まだYOLOの触り部分なので随時更新するとして、とりあえず物体検出を体験するのと、自前データを使った学習からの検出が成功したので備忘録までに。

# 物体検出
物体検出とは、取り込んだ画像の中から「物体の位置、種類、個数」を特定する技術のこと。言い換えれば、物体の種類だけを特定する画像分類に、さらに位置と個数を検出する能力が備わったものである。[こちら](https://aismiley.co.jp/ai_news/detection-ai-and-deep-learning-model/)のサイトで物体検出から使われるディープラーニングモデルまで詳しく説明されていてとても分かりやすかった。

# YOLO
YOLOは検出と識別という2つの処理を同時に行うため、他のモデルに比べて処理速度が速いのが特徴である。YOLOと一言に言ってもその種類は色々あるが、今回はYOLO

元記事を表示

Pythonを用いたwavファイルの扱いについて

初投稿になります。
経験がないので至らない点も多々あると思いますが、よろしくお願いします。
間違いがありましたら、連絡ください。

# はじめに
今回はpythonを用いた、waveファイルの扱い方について
授業でwavファイルを扱ったのでその中身と簡単な手順についてまとめたいと思う。
流れは以下の通り

1.wavファイルを入力、およびヘッダについて
2.情報量を落とす
3.wavファイルに戻す

# WAVファイルとは
wavファイルはバイナリの音声ファイルの一種

圧縮されていないためサイズはmp3等と比較し大きくなる。
サイト等で変換できる。
# 音源を手に入れる
まずは音源を用意します。
フリー音源でググって用いています。
今回は以下のサイト

>[魔王魂無料で使える森田交一の音楽](https:

元記事を表示

Scapyでパケットを作ってみたンゴ

# 概要
ScapyはPythonで記述されたコンピューターネットワーク用のパケット操作ツールである。今回はそのScapyを使用してのパケット作成から送信、Wiresharkでの確認までをまとめていく。

# 参考
https://scapy.net/

https://www.wireshark.org/

http://www5e.biglobe.ne.jp/aji/3min/

https://www.infraexpert.com/info/netspecial1.html

ネットワークの勉強をするに当たって、上記の二つにはかなりお世話になった。

# プロトコルとは?
通信をする上で守らなければいけないお約束のこと。
各種のプロトコルはOSI参照モデルの7階層によって以下のように分類されている。

|層(レイヤー)        |名称 |規格(プロトコル) |概要        |利用例 |
|—|—|—|—|—|
|7 |アプリケーション層         |HTTP,FTP,DNS,SMTP,POPなど |個々のアプリケーション

元記事を表示

多次元リストの作成方法

## 背景
・pythonで多次元リストを作成したい時がある。
・作成した多次元リストをdfに変換したい時がある。
・今回はリストに一意の項目を追加する多次元リストの作成方法と多次元リストからdfに変換する方法を紹介する。

## 目標
・pythonでの多次元リストの作成方法を覚える。
・pythonの多次元リストからdfに変換する方法を覚える。

## この記事でやること
・東京都の市町村リストに対して、東京都という項目を追加した多次元リストを作成する。
・多次元リストをdfに変換する。
“`:市町村リスト
tokyo_cities = [‘千代田区’,’世田谷区’,’〜略〜’,’町田市’]
“`
“`:作成する多次元リスト
print(multi_list)
[[‘東京都’, ‘千代田区’], [‘東京都’, ‘世田谷区’], [‘東京都’, ‘〜略〜’], [‘東京都’, ‘町田市’]]
“`
“`:多次元リストから変換したdf
print(df)
都道府県 市町村名
0 東京都 千代田区
1 東京都 世田谷区
2 東京都 〜略〜
3 東京都

元記事を表示

初めてハッカソン(2日間)に参加した話

## はじめに

今の自分のレベルを知りたい、集中的に共同開発に取り組みたいということで、キャリアセレクトのmanifesというハッカソンに参加しました。その詳細や感想を述べていきます。

## イベント内容
manifesとは、キャリアセレクトのコミュニティであるSTECHが開催するハッカソンで、2日間という短さで行われました。マニア(mania, maniac)の様子から取っているそうです。
テーマは**ハイクオリティに遊ぶ**ということで、文字通りレベルが高くユニークな開発物が多かったです。

表彰については、最優秀賞と特別賞(STECH賞)に分けられ、最優秀賞者には1人ずつに**シャトーブリアン**が送られました!
ちなみに、STECH賞は当時では秘密にされていました(今もまだわかりません)。

参加者は1チーム3人の4チームであり、12人で行われました。

## 成果物
タイトル : **Space Picture**
カメラを起動し、そこにお絵かきができるwebアプリです。

### 使用時技術
– Python
– opencv:動画・画像処理
– str

元記事を表示

python のlogの使い方 ファイルと画面に出力する/プログラム名を出力する

* pythonのログの機能の覚え書きです。
* コードをそのまま実行するとログをファイルと画面に出力します。
* 出力するログのレベル「info debug」などをコントロールするには「logger.setLevel(DEBUG)」を使います。
* ログの関連情報「出力日時、ソースの場所等」の出力は「LogRecord 属性」を使い「setFormatter(Formatter」で行います。

* 「[結局どうする?ラクして無難にPython loggingを使うためのサンプルコードと使用例](https://ichiken-usa.blogspot.com/2021/06/python-logging.html)」を参考にしています。

## 参考
* [結局どうする?ラクして無難にPython loggingを使うためのサンプルコードと使用例](https://ichiken-usa.blogspot.com/2021/06/python-logging.html)
* [python用ロギング機能 LogRecord属性](https://docs.py

元記事を表示

venvをアクティブ状態にしないかつ、sudo権限を持った状態で扱うコマンドを作成する

## 紹介
この記事で学んだことを生かし、
Pydo(アクティブ状態にしないかつ、sudo権限を持った状態で扱えるツール)
の作成に取り掛かりました。

###### 現状は
###### 「ホームディレクトリで作成(clone)しないと動かない」
クソクソ状態ですが、勉強しながら使いやすくしようと思っております。
よかったら使ってみてください。

#### Pydo
https://github.com/SkyBorn888/Pydo

~~というか、venvも関係なく、独自で作ってみようかと企んでます~~
以下、本編です。

## 最初に
ある日、Raspberry Pi上でPythonを使いNeoPixelを制御していました。
普段通り、Pythonのvenv(virtualenv)を使って仮想環境を用意、アクティブにしてコードを書いて実行しようしたんですよ。

そしたら…
sudoがない、rootじゃないと、権限のないユーザーは実行できないんだよと怒られました。

raspi-configでSPI interfaceをenableにするのもありなんだが、
####

元記事を表示

PythonとHerokuで謎解きLINEbotを作る 後編

# はじめに

この記事は↓の記事の続きです。ここからいよいよ謎解きbotらしい機能を実装していきます。

https://qiita.com/TomokiMitsuhama/items/84f2c861971d86b48466

## 注意(再掲)

:::note warn
この記事は**LINE謎解き「27 Letters」のネタバレをわずかに含みます**(大きなネタバレはありませんが……)。
:::

https://line.me/R/ti/p/@979mvoqz

一期一会なコンテンツなので、まずはプレイしてみてください。
LINEのアカウントがあれば無料でできます。
謎解き初心者には難しいかもしれませんが、「プログラミングでできること」の一例としてはうってつけなのではと思います。

:::note warn
僕はPythonもといプログラミング初心者であるため、**「コードの作法」的なことはいまいちわかっていないことはご了承ください**。
:::

# 少しずつ実装しよう

ここまではエコーボットの実装をしてきました。これをアレンジして謎解きbotらしくしていきます。

元記事を表示

PythonとHerokuで謎解きLINEbotを作る 前編

1週間前、「27 Letters」というLINE公式アカウントを利用した謎解きゲームをリリースしました。

https://line.me/R/ti/p/@979mvoqz

この記事は、その「27 Letters」で使用したLINE botの作り方についての雑記です。
本記事は前後編に分かれています。
前編では、プログラミングによる謎解きbot制作のメリットデメリットと、LINEbotの基本となるエコーボットの実装に触れます。
後編では、謎解きbotらしい機能を実装していきます。

# 注意
:::note warn
この記事は**LINE謎解き「27 Letters」のネタバレをごくわずかに含みます**(大きなネタバレはありませんが……)。
:::

一期一会なコンテンツなので、まずはプレイしてみてください。
LINEのアカウントがあれば無料でできます。
謎解き初心者には難しいかもしれませんが、「プログラミングでできること」の一例としてはうってつけなのではと思います。

:::note warn
僕はPythonもといプログラミング初心者であるため、**「コードの作法」的なことはい

元記事を表示

MasoniteでチョットRouting

(Python素人が、)ひっそりとMasoniteして行こう、Routing編。

# バージョン
“`bash
Python 3.10.4
Masonite version 4.14.1
“`

# ファイル
“`routes/web.py“`がルーティングのファイル。
Laravelだと“`api.php“`などが他にファイルがありますが、masoniteだとroutes内は“`web.py“`だけ。

# Routing
Laravel7系までの書き方と似たような感じがします。
また、Laravelだとクロージャを引数として設定できると思いますが、こちらでは無理な雰囲気。

## 基本的な感じのやつ
ほぼLaravelと一緒な感じですかね。
必須パラメータは“`@{name}“`でいけそうです。

また、“`name“`等の使用も可能です。

“`python
Route.get(“hogehoge”, “HogelcomeController@create”).name(“hogehoge”)
Route.get(“hogehoge/@id”, “

元記事を表示

初心者で Python を使いたい人で環境構築に困った場合メモ

# 新たなプログラム言語を始めるにあたって何が障害?

私はずばり「**環境構築**」だと思っている。

新たなプログラム言語を習得するとかって、いろいろと用意することがあった記憶がある。
少なくとも私はそれが一番初めに来るのが嫌だった・・。
「まずは動くもの作りたいし、仕組みもシンプルなほうがよい。」
性格的に、なんでそう動くの?どんな仕組みでって考える人は、初めのハードルが高い気がする。(私見)

幸い私の場合は Python を業務ですぐに習得しなければならない事情があったので、とりあえず、動く環境で動かしてみることを続けた。

その間、Python のバージョンアップや周辺環境の変化によりいろいろな選択肢が出てきて、いまでは環境の仕組みがわからなくても何とかなる。しかも、Pythonのような人気がある言語の場合は、ぐぐーったら環境構築の記事はごまんとある。新旧織り交ぜて・・・
これらのサイトをいろいろと読んでいて、一つ思ったのが

[**公式サイト**に書いてあるじゃん](https://www.python.jp/index.html)

しかも、Pythonは比較的初心者に

元記事を表示

OTHERカテゴリの最新記事