Python関連のことを調べてみた

Python関連のことを調べてみた
目次

Linuxmint22へ懲りずにmintupgradeでアップグレードした時にpythonのupdate-alternatives使っていて詰んだりzipで嵌ったり

## ハマったとこSummary

#### linuxmint22にmintupgradeでアップグレード時の問題
– mintupgradeの途中にlibdvd-pkgで止まる
– pythonのupdate-alternativesを使ってdeadsnakes版のpython3.12(バージョン3.12.5)が入っていると**ガチで詰む**
– zip圧縮がbuffer overflowで**使えなくなっている**(ちなみにubuntu24.04由来)

## mintupgradeの前にやって必ずやっておくこと

pythonのバージョン切り替えにupdate-alternativesを使っていて、
python3.12をdeadsnakes版のpython3.12(バージョン3.12.5-1+jammy1)にしていた時に、アップグレード完了後しっかり詰みました。
アップグレードする前に、python3.12を公式バージョンの(python3.12=3.12.3-1ubuntu0.1)に戻しましょう(申し訳ないですが戻せるのかは分かりません)

## 懲りずにmint

元記事を表示

初心者向け!Quartで始めるPython非同期Webアプリの作り方

## 第1章: Quartの概要

Quartは、Pythonの非同期Webフレームワークです。FlaskのAPIと互換性がありながら、非同期処理をサポートしています。

“`python
from quart import Quart

app = Quart(__name__)

@app.route(‘/’)
async def hello():
return ‘Hello, Quart!’

if __name__ == ‘__main__’:
app.run()
“`

このコードは、基本的なQuartアプリケーションを作成し、ルートURLにアクセスすると「Hello, Quart!」と表示します。

## 第2章: Quartのインストールと設定

Quartをインストールするには、以下のコマンドを使用します:

“`bash
pip install quart
“`

プロジェクトの構造は以下のようになります:

“`
myproject/
├── app.py
├── requirements.txt
└── venv/

元記事を表示

Google Colaboratoryの印刷(PDF化)

# はじめに
Colarboratoryの印刷(PDF化)ができないというお話を聞いたので、対処法を考えました。

# 要約
ColabをブラウザでPDF化しようとしてもできない(はず)
一度HTMLに変換してからPDF化しましょう!
変換には添付のColabノートブックが便利です!

# お断り
Colabを用いたPython初心者用講義に寄せられた質問への回答のため、最も簡単な手法優先で紹介します。
せっかくなのでColab上でPythonを実行しよう!といったノリです。

別の手法があればご教示願います。
(オンラインツールによるIpynb to PDFも試しましたが、日本語非対応のせいかうまく変換されなかったので使っていません。)

Pythonコードの生成には生成AIを一部使用しています。
動作確認は十分にしたつもりですが、誤りがあれば大変申し訳ありません。

# 動作環境
Apple M1
MAC OS Sonoma バージョン14.1.2(23B92)
Google Chrome バージョン: 128.0.6613.120(Official Build) (arm64)

元記事を表示

PythonでGoogle翻訳APIを使ってみる

# 下記の手順でGoogle翻訳APIを有効に
– Google APIの申請
– プロジェクトの作成
– 課金機能の有効化
– APIの有効化
– 認証の設定:APIキー

# PythonでGoogle翻訳APIを使ってみる
“`python
from importlib import reload
import requests
import csv
import sys

# https://www.eyoucms.com/news/ziliao/other/29445.html
def translate_text(target, content):
language_type = “”
url = “https://translation.googleapis.com/language/translate/v2″
data = {
‘key’:”A×××c”, # 認証の設定:APIキー
‘source’: language_type,
‘target’: target,
‘q’: content,
‘forma

元記事を表示

PythonでGoogle翻訳APIから音声データを取得

# Google翻訳の音声データAPI???
認証情報なしで、なぜかが下記のGoogle翻訳の音声データAPIを使えます
しかも、制限なし
https://translate.google.com/translate_tts?ie=UTF-&&client=tw-ob&tl=en&q=

# PythonでGoogle翻訳APIから音声データを取得
“`python
import requests
import os

def download_mp3(url, filepath):
response = requests.get(url, stream=True)
if response.status_code == 200:
with open(filepath, ‘wb’) as file:
for chunk in response.iter_content(1024):
file.write(chunk)
print(“音声はダウンロードできました!”)
else

元記事を表示

postfixログの整形

“`python
#!/usr/bin/python
import argparse
import csv
import logging
import os
import re
import socket
import sys
from datetime import datetime
from pathlib import Path

def setup_logging():
host_name = socket.gethostname()
program_name = os.path.basename(__file__)
log_file_path = Path(__file__).resolve().parent.parent / ‘log’ / ‘pythonlog.log’
logger = logging.getLogger()
logger.setLevel(logging.INFO)
file_handler = logging.FileHandler(log_file_path, encoding=’utf-8′)

元記事を表示

おんどとり WebStorage APIによるデータ取得 (1)

# はじめに
**おんどとり WebStorage API**を利用してデータを取得する方法を記載する。

`利用機器`
・RTR503B (子機:温度・湿度測定)
・RTR500BM (親機:sim対応モバイル回線を利用してクラウドへデータ転送)

`取得方法・条件等`
・Pythonプログラム(jupyter notebook)を利用
・環境構築やパッケージインストール等は省略
・APIを利用して指定期間・件数によるデータの取得を実施
・おんどとり WebStorageへは登録済み、同ページ内でデータ閲覧できているものとする。

# APIリファレンス

https://ondotori.webstorage.jp/docs/api/index.html

https://ondotori.webstorage.jp/docs/api/reference/devices_data_rtr500.html

# WebStorage APIへのアクセス情報を準備 

APIアクセスに必要な情報を’ondotori.env’ファイルとしてまとめ、コードと同じフォルダに保管する。
AP

元記事を表示

【React×FastAPI×機械学習】キルした時刻を自動予測するゲーム解析用ツールを開発してみた

# はじめに

今回は、スプラトゥーン3において各イベント(スタート、キル、デス、フィニッシュ)が起きた時間を自動で解析するWebアプリの紹介をします。

ソースコードはこちらにあるので興味のある方はぜひ覗いてみてください。

https://github.com/MRyutaro/splatoon3_highlight_collector

# ツールの紹介

このツールでは、スプラトゥーン3において各イベント(スタート、キル、デス、フィニッシュ)が起きた時刻を自動で解析してくれます(下のgifは開発中のものです)。

![サンプルキル集_圧縮.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2906464/056a1c76-51b5-47b0-83dc-b883bc317ddc.gif)

動画をアップロードして解析ボタンを押してしばらくすると、各イベントの名前とその時刻が表示され、時刻をクリックすると動画がその時刻に飛んでイベントの発生を動画で確認することができます。

# 内部設計について

##

元記事を表示

MNIST(8×8 pixels)を使ったモデル精度考察

# 概要
MNIST(8×8 pixels)のデータセットを使って、
RandomForest分類器の他に2種類、分類器を用意して学習させ、
それぞれの学習済みモデルの精度を比較し、
文字認識の観点から精度や モデルが予測する結果について考察する。
評価対象はaccuracy_scoreとconfusion_matrixとします。

# 文字認識等について調査
文字認識について調べる
参考URLhttps://office54.net/python/ai/machine-learning-method

①ランダムフォレストhttps://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html
・それぞれ異なったグループで学習をし、いくつかの決定木を作り、平均・多数決するhttps://qiita.com/Hawaii/items/5831e667723b66b46fba
・ランダム性(それぞれ異なるデータを基にする、異なる説明変数を分割候補として使う)https://

元記事を表示

【重回帰分析(+標準化)】機械学習特訓 ver.3(まとめ)

【特訓 ver.3】 重回帰スタート!!
※この記事では重回帰分析と標準化についてまとめます

## ▼学習の流れ
まずは、大まかな流れを抑える

■使用するデータ
お弁当の販売数に関するデータを用いる
※データセット: https://signate.jp/competitions/24/data

■ 単回帰分析
復習のため最後の精度確認のみ添付
 (残差プロット、MSE、決定係数)
※参照:単回帰まとめデータ
https://qiita.com/hirohiro18/items/d8a14915c6789a79b56d

■ 重回帰分析について学習する
注意点)
① データ処理
 - 質的変数は用いることができない
   ∟ 曜日を用いる場合には`get_dummies`を用いて量的データに変換

② 回帰式を求める(+値の代入)

③ 精度確認(残差、MSE、決定係数)
 *単回帰分析との差に注目

▼練習問題

ボストンの住宅価格データ で重回帰分析を行う。

その後・・・

元記事を表示

How to Automate Watching Videos on Your Laptop Using Python

Automation can be a powerful tool to streamline repetitive tasks, including [watching videos](https://iptvmovistar.es/) on your laptop. While automating video playback can be useful for testing purposes or running media in the background, it’s essential to be mindful of ethical considerations, such as the fair use of content. In this guide, we will explore how to use Python to automate the process of watching videos on your laptop. We’ll cover setting up your environment, automating video playba

元記事を表示

pythonのloggingモジュールの設定方法まとめ(py, ini, json)

# 概要
pythonのloggingモジュールを使うと`print()`よりも詳細なログ出力ができる。
タイムスタンプを付加できたり、ログファイルを出力できたりいろいろと嬉しいことがある。
loggingの設定方法がいくつかあるのでまとめる。

# .pyファイル
loggingモジュールをインポートしてそのまま定義する方法。
エディタのコード補完が効くので個人的にはこの方法が好き。
“`py
from logging import getLogger, Formatter, DEBUG
from logging.handlers import RotatingFileHandler

# フォーマット
fmt = ‘%(asctime)s %(name)s:%(lineno)s %(funcName)s [%(levelname)s] %(message)s’
datefmt = ‘%Y-%m-%d %H:%M:%S’
formatter = Formatter(fmt, datefmt)

# ハンドラ
handler = RotatingFileHandler(‘./log/

元記事を表示

Difyからローカル環境のフォルダにファイル出力・読込

# 記事の概要

ローカルにDIfyを構築すると、docker上に構築することになり、ローカルにファイルを保存したり、ローカルのファイルを読み込むのがめんどうな構成となっている。

特にLLMを使ったアプリ開発などでは、Dify上で実行できるプログラムにはかなり制限があるため、ローカルにファイルを出力したくなる。

そこで、ローカルへのファイル出力と読込をpythonのライブラリであるflaskを利用して実現する。

ただし、Dify自体に外部へのファイル出力の機能が実装されるのも時間の問題と思うので、一時的な手順と考えている。

全体的な構成は以下の構成となっている。

“`mermaid
graph TD;
A –> B[Dify]
B –> C
C –> D[エンドポイント: /upload]
C –> E[エンドポイント: /retrieve]
D –> F[ローカルのフォルダ]
E –> F

subgraph local
A
C
F
end

元記事を表示

Git LFSの制限に引っかかって、モデルを調整した話

# はじめに
前回の記事で、デプロイに失敗しており、まだWebアプリ化が終わっていないという話をしたと思う。

https://qiita.com/ncworking/items/7d7159ab6ec060b0ee47

その後、諸々のバージョンを変更したり書き換えたりしてはプッシュしている内に、**GitLFSが使えなくなった**。

“`エラーコード
C:\dog_or_cat>git push origin main
Uploading LFS objects: 0% (0/2), 0 B | 0 B/s, done.
batch response: This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access.
error: failed to push some refs to ‘https://github.com/username/dog_or_cat_app.git’
“`

元記事を表示

Python テキストファイルの効率的な検索: ジェネレータ式を用いたパターンマッチングとその応用

## 目次

1. はじめに
2. サンプルデータの生成
3. 従来の検索方法と問題点
4. ジェネレータ式を用いた基本的な検索
5. 実装例の比較と実行結果の違い
6. 応用例
6.1 複数の検索条件の組み合わせ
6.2 検索結果の構造化と出力
6.3 統計情報の収集
7. パフォーマンスの考察
8. まとめと発展的な話題

## 1. はじめに

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/827815c2-37b2-c093-8ad2-0593873834bf.png)

テキストファイルの検索は、プログラミングにおいて頻繁に行われる操作の一つです。特に大規模なログファイルや、大量のテキストデータを扱う際には、効率的な検索方法が求められます。本記事では、Pythonのジェネレータ式を活用して、メモリ効率が良く高速な検索を実現する方法とその応用例を紹介します。

> :warning: **注意事項**
>
> このサンプルプログラムは大きな負荷

元記事を表示

長方形の4頂点から、内部の円へ4接線「幾何学チャレンジ問題 AQ=?」をsympyとFreeCADでやってみたい。

・作図は、いくつであっても、の一つです。
・問題文は2次元ですが、3次元FreeCADのマクロで、XY平面上に作図しました。

**パイソニスタの方へ**
教えて下さい。
・simplify()もsqrtdenest()も、簡略化できませんでした。
・長方形の縦横の辺の長さ、半径に必要十分条件を計算する方法です。

# オリジナル
・YUUU0123 様 (0:00〜5:51)
>消えてしまいます。

YouTubeのコメントありがとうございました。
>こんばんわ。r>1はなくてもよかったのですが、**円の半径がいくつであっても、答えは√77**、ですので、限りなく円の半径を0に近づけてしまえば、x²+6²=8²+7²で解けてしまうため、ちょっと変えてみました。
>こんばんわ。調べましたが、定理としての名前は、出てきません。名前のない定理(定理といっていいものかわかりませんが)ですね。

# sympyで(オリジナル 様の方法を参考に)
#### ver0.1 プログラムの2行余計でした。
“`python
# ver0.

元記事を表示

ビヘイビア駆動開発Behaveを使ったPythonテスト自動化の完全ガイド

## はじめに

Pythonの世界では、テスト駆動開発(TDD)や振る舞い駆動開発(BDD)が重要な役割を果たしています。その中でも、Behaveは特に注目されているBDDフレームワークの1つです。この記事では、Behaveの基本から応用まで、15章にわたって詳しく解説していきます。

## 第1章: Behaveとは

Behaveは、Pythonで書かれたBDDフレームワークです。BDDとは、ソフトウェアの振る舞いを自然言語で記述し、それをテストコードに変換する手法です。Behaveを使うことで、開発者、テスター、ビジネス関係者が共通の言語でソフトウェアの仕様を理解し、テストを行うことができます。

## 第2章: Behaveのインストール

Behaveのインストールは非常に簡単です。以下のコマンドを使用してpipでインストールできます。

“`bash
pip install behave
“`

## 第3章: Behaveの基本構造

Behaveプロジェクトは通常、以下のような構造を持ちます:

“`
my_project/
features/

元記事を表示

Pythonの非同期タスク処理ライブラリCeleryの入門ガイドビギナー向け

## 1. Celeryとは

Celeryは、Pythonで書かれた非同期タスクキューライブラリです。大規模なアプリケーションで、時間のかかる処理や定期的なタスクを効率的に実行するために使用されます。

主な特徴:
– 分散システムでの非同期タスク実行
– スケジューリング機能
– 様々なメッセージブローカーとの互換性(Redis、RabbitMQなど)
– 高い拡張性と柔軟性

## 2. Celeryのインストールと基本設定

まず、Celeryをインストールしましょう。

“`bash
pip install celery
“`

次に、プロジェクトにCeleryを設定します。`celery.py`ファイルを作成し、以下のコードを追加します:

“`python
from celery import Celery

app = Celery(‘myproject’,
broker=’redis://localhost:6379/0′,
backend=’redis://localhost:6379/0′,

元記事を表示

小さなGPUでの算法術。忘れ物をしたマリオをルイージが追いかける。スプラインの類似度計算をTensorFlow.jsを用いてGPUで高速にマリオの軌道予測並列計算。

![スクリーンショット 2024-09-02 191601.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/0aaa9bbe-cc7f-cd25-1574-336dbfabf422.png)

### 衝突の理
東京の小さなオフィスビルの一角、青白い蛍光灯の下でキーボードのクリック音が響く。夜遅くまで働くのが日常のプログラマー、山田達也は、深夜のカフェインに頼りながらコードと向き合っていた。彼は、かつて子供時代に夢中になったゲーム「スーパーマリオブラザーズ」の新しいプログラムに取り組んでいた。

プロジェクトのテーマは「忘れ物をしたマリオをルイージが追いかける」というシンプルなものだが、その背後には高度な計算と物理法則が隠されていた。山田は、マリオがジャンプし、走り、そしてピーチ姫を救うために次々と冒険を繰り広げる中で、彼の軌道を正確に予測するアルゴリズムを考案していた。

スプライン関数による軌道のデータベース化
「マリオもルイージも物理的な存在である以上、瞬間移動はできない」と

元記事を表示

PySideで始めるPython GUI開発入門

## はじめに

PySideは、PythonでGUIアプリケーションを開発するための強力なツールキットです。QtフレームワークをPythonから利用できるようにしたもので、直感的なAPIと豊富な機能を提供します。この記事では、PySideを使ったGUI開発の基礎から応用までを15章に分けて解説します。

## 第1章: PySideのインストールと基本設定

まずはPySideをインストールしましょう。以下のコマンドでPySide6をインストールできます:

“`bash
pip install PySide6
“`

インストールが完了したら、以下の簡単なコードで動作確認をしてみましょう:

“`python
import sys
from PySide6.QtWidgets import QApplication, QLabel

app = QApplication(sys.argv)
label = QLabel(“こんにちは、PySide!”)
label.show()
sys.exit(app.exec())
“`

このコードを実行すると、「こんにちは、PySi

元記事を表示

OTHERカテゴリの最新記事