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

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

VSCodeでRuffを設定したけど、うまく動かなかった時の対処法 [備忘録]

先日、RuffをVScodeに設定する話をQiitaに書きましたが、既存のプロジェクトで使用しようとした際に、Ruffが動かず右往左往したのでその備忘録です。

設定は下記記事を参照してください。
適切な設定ができている前提で話を進めます。

VSCodeの画面右下からRuffのログを出力します。

![スクリーンショット 2024-11-12 18.22.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570453/5910dc4c-661d-58f3-9cc1-e818fe2ed4eb.png)

私の場合、こんな感じになっていました。

“`:command
2024-11-04 11:10:03.786 [info] Module: ruff
2024-11-04 11:10:03.786 [info] Python extension loading
2024-11-04 11:10:03.786 [info] Waiting for interpreter from python e

元記事を表示

【Unity+ARCore】位置情報から飲食店に空席状況を表示させるには | 後編

# 作ったサービス

**目次**
[1.本記事でできること](#本記事でできること)
[2.動作環境](#動作環境)
[3.システム構成図](#システム構成図)
[4.サーバー設定](#サーバー設定)
[5.飲食店検索](#APIを使って飲食店検索)
[6.空席状況をスクレイピング](#空席状況をスクレイピング食べログ)
[7.特定の位置

元記事を表示

VBAにSQLを埋め込むためのコードを生成するpythonコード

内容
– SQLコードを分かりやすい形でExcel VBAなどに埋め込むためのコードを生成
– ADO(ActiveX Data Objects)での利用を想定
– /* */コメントや–コメントは除去する仕様

コード
“`python
import re

# Use to remove — comment
def remove_after_string(input_string, target_string):
index = input_string.find(target_string)
if index != -1:
return input_string[:index]
else:
return input_string

path = input(“Enter OpenFilePath(ex ./fileName.sql): “)

strSQL = ” strSQL = ” + ” \”\” ” + “\n”
with open(path, “r”, encoding=”Shift-JIS

元記事を表示

Githubリポジトリ招待の自動化

# github repoへの自動招待スクリプト

このスクリプトはよくできている自画自賛です。
時間をかけてでも作っておいてよかったと思います。
APIで行ってもいいと思いますがここはブラウザをシミュレートさせる方向で・・

わりと人の入れ替わりがある組織なので、リポジトリにユーザーを招待するのも
大変といえば大変ですね。

# 手作業ベースだと・・・

– コラボレーターのGitHubアカウントリストを作成
– 各リポのsettings/accessを開いて、
– 招待をかける

このような作業をリポの数とユーザーの数分だけ繰り返す。

# Seleniumで自動化できないものか?

## わたくしの環境

– windows10
– pythonをWin側にインストール
– firefox/geckodriver

## まずこんな感じで始めました

“`
import os
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.com

元記事を表示

「sympyでa+b+c から最後の項を取り除く方法を教えて下さい。」Gemini先生に聞きました。

・Gemini先生のコードが、ChatGPT先生のコードより、便利。最終行のprint文。
“`python
from sympy import symbols, Add

# 変数を定義
a, b, c = symbols(‘a b c’)

# 式を定義
expr = a + b + c

# 式を項ごとに分解し、最後の項を取り除いて再構成
terms = expr.as_ordered_terms()[:-1] # 最後の項を除いたリスト
result = Add(*terms)
print(result) # 出力: a + b
“`

# sympyで引数が多項式から最後の項を取り除くユーザー定義関数を教えて下さい。。
・いいですね~。私には書けないコードです。
“`python
from sympy import symbols, Add

# 最後の項を取り除く関数を定義
def remove_last_term(expr):
# 式を項ごとに分解し、最後の項を除去
terms = expr.as_ordered_terms()[:-1] #

元記事を表示

paizaラーニング問題集「座標系での向きの変わる移動」を解き、感じたこと

▼問題文のURL

https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_move_boss

▼考え方

現在の座標(x,y)と現在の向きをリストlで管理します。入力(=移動の向きL,R)と現在の向きに基づき、次の座標と次の向きを計算し出力します。向きは、0:北,1:東,2:南,3:西とします。

▼コード
“`py
X,Y,N = map(int,input().split())

# l: 現在の座標(x,y)と向きを表すリスト
l = [X,Y,0]

for _ in range(N):

# d: 入力
d = input()

if d == “L”:

if l[2] == 0:
# 次の座標の計算
l[0] -= 1
elif l[2] == 1:
l[1] -= 1
elif l[2] == 2:

元記事を表示

Python で HTTP API を呼び出すための環境構築から実装まで

## はじめに

REST API のような HTTP API を Python から呼び出す際、標準ライブラリの urllib も使用できますが、外部ライブラリの`Requests`を使用すると、より簡単で直感的にリクエストを送信できます。

> 参考リンク:
>
> – [Requests 公式ドキュメント](https://requests.readthedocs.io/en/stable/)
> – [GitHub リポジトリ](https://github.com/psf/requests)

`Requests`に限らず、外部ライブラリを使用する際は、適切な開発環境の準備が重要です。

### なぜ環境を分ける必要があるのか?

Python で外部ライブラリを導入する際、環境を分けずに `pip install` 等を実施して端末内にインストールする方針にすると、以下のような問題が発生する可能性があります:

– 異なるプロジェクト間でのライブラリのバージョン競合
– 端末内にインストールされている Python パッケージへの意図しない影響
– チーム開発時の環境の再現

元記事を表示

日本語版wav2vec2でforced-alignment

# はじめに
pythonのtransformersライブラリからロードできる、日本語版wav2vec2モデル([reazon-research/japanese-wav2vec2-base-rs35kh](https://huggingface.co/reazon-research/japanese-wav2vec2-base-rs35kh))を用いて、forced-alignmentを試みます。

forced-alignmentは、音声とそのトランスクリプトが与えられた際に、トランスクリプト内の各トークンが発生したタイムスタンプを特定する技術です。応用先として、動画への自動字幕付与などがあります。

[前回](https://qiita.com/shimajiroxyz/items/ccbef2f851b15252cfa6)は、torchaudioのバンドルにパッケージングされたモデルを用いてforced-alignmentを行う方法を試し、簡単かつそこそこ精度に実行できることを確認しました。今回は、バンドルと比べると多少ローレベルなAPIであるtorchaudio.functi

元記事を表示

atcoder練習(2024.11.13)

# キーワード

# 問題
https://atcoder.jp/contests/abc378/tasks/abc378_c

長さ N の正数列 A=(A_1, A_2, …, A_N) が与えられます。以下で定義される長さ N の数列 B=(B_1, B_2, …, B_N) を求めてください。

i=1,2,…,N について、
B_i を次のように定義する:
A_i と等しい要素が i の直前に出現した位置を B_i とする。そのような位置が存在しなければ B_i =−1 とする。
より正確には、正整数 j であって,
A_i = A_j となる j

OpenAI APIとReddit APIを使った自動記事投稿スクリプトを作ってみた

### はじめに
**OpenAIのAPI**を使用してテーマに基づいた記事を自動生成し、**Reddit API**を通じて投稿するPythonスクリプトを作成してみました。このスクリプトで、指定したテーマの記事を生成し、Redditにワンクリックで投稿することができます。

### スクリプトの概要
このスクリプトは、以下の2つの主要なAPIを使用:

1. **OpenAI API**:指定されたテーマについてChatGPTが記事を生成します。
2. **Reddit API**:生成された記事をRedditの指定されたサブレディットに投稿します。

### 前提条件
このスクリプトを実行するには、以下の準備が必要です:

– **OpenAI APIキー**:OpenAI APIにアクセスするために必要
– **Reddit APIの認証情報**:Reddit APIにアクセスするための`client_id`、`client_secret`、`username`、`password`が必要
– **Pythonライブラリ**:`openai`と`praw`を使用します。以下のコ

【最新版】大学が公開しているエンジニア向け学習資料まとめ

## はじめに

今回は大学が無料で公開している、エンジニア向けの学びになる資料をまとめていきます。

## 東京大学

### [Pythonプログラミング入門](https://utokyo-ipp.github.io/)

![スクリーンショット 2024-11-13 8.23.55.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/2c3fd14a-3027-73bf-64fb-ec7d7315ef27.jpeg)

Pythonについて環境構築から始まり、基本文法、数値解析など応用的な使い方までを分かりやすく解説している。

https://utokyo-ipp.github.io/course/

### [AWS入門](https://tomomano.github.io/learn-aws-by-coding/)

こちらもネットワークやクラウド、インフラの仕組みの解説から始まり、AWSの構成パターンなどが基礎から解説されている。

![スクリーンショット 2023-12-0

GitHub Copilot による生成AI時代のDatabricks開発フローの新常識

## 概要

本記事では、**GitHub Copilot** を活用して **Databricks** の開発を効率化する方法について詳しく解説します。通常、Databricks Workspace 上で直接 GitHub Copilot を利用することはできません。しかし、ローカル環境で GitHub Copilot を使用し、そのコードを Databricks Workspace と同期することで、より生産的な開発が可能になります。この方法を用いることで、コーディングの効率化やエラーの早期発見が期待でき、開発全体の生産性向上につながります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/efa9c8aa-57aa-d38d-6bcc-b39657e0fb40.png)

コードを Databricks Workspace に同期するには、**Databricks 拡張機能**を利用します。環境構築の手順については、以下の記事を参考にするとスムーズに進められます。

WindowsのZscaler環境下でuvを実行する場合

# 発生する問題
uv をZscaler環境下で実行すると以下のようなエラーを出力することがあります。
(ネットワーク(所内・在宅)で変わることもありますが)

“`
> uv python pin 3.8.7
> uv sync
error: Failed to download https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.8.7-x86_64-pc-windows-msvc-shared-pgo-20210103T1125.tar.zst
Caused by: Request failed after 3 retries
Caused by: error sending request for url (https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.8.7-x86_64-pc-windows-msvc-sha

stable-diffusion.cpp と Python バインディング

画像生成 AI の C++ 実装である stable-diffusion.cpp と、その Python バインディングを紹介します。

# stable-diffusion.cpp

LLM では PyTorch ベースの transformers ライブラリに対して、C++ で実装された llama.cpp があります。

同様に、画像生成では PyTorch ベースの diffusers ライブラリに対して、C++ で実装されたのが stable-diffusion.cpp です。

https://github.com/leejet/stable-diffusion.cpp

SD 1.x/2.x/XL/3/3.5, FLUX.1 dev/schnell に対応しています。

stable-diffusion.cpp は、llama.cpp と同じ ggml というライブラリを使用しています。CUDA や ROCm (HIP) などには ggml で対応しています。

自分でビルドしなくても、バイナリが配布されています。

– https://github.com/leejet

株の売り時/買い時の分類に必要な正解データを作る

# 1.概要
株や仮想通貨が売り時 or 買い時 を分類するモデルを作ってみようと思ったのですが、まず学習用の正解データを作らなければならないことに気づきました。
そこで、チャート上でいう「下にとがっている点」に「買い時ラベル」、「上にとがっている点」に「売り時ラベル」がつくようなコードを書いてみました。
# 2.コード
株や仮想通貨の時系列データに、以下の6つにクラス分けしてみたいと思います。
(必要なラベルは 売り時 or 買い時 or それ以外 だけかもですが…)
– 1:売り時
– 2:強い上昇
– 3:上昇
– 4:下降
– 5:強い下降
– 6:買い時

まず最初に今回必要なモジュールをインポートします。
“`python:モジュールのインポート
import datetime
from dateutil.relativedelta import relativedelta
import yfinance as yf
import numpy as np
import matplotlib.pyplot as plt
“`
yahooファイナンスのライブラリ

検索結果数を取得するPythonスクリプト

### **user**:

ChatGPT先生、教えてください。Google検索すると、何件ヒットしたかの数字が得られますよね。その数字を得るPythonスクリプトを書けませんか?

### **assistant**:

あんた、そんなんうちに任せてなんかっ!鬼焼きみたいに熱ッ火燃える心で、ばっちり教えるわ〜!

でもさ、本音言うと、Googleさん、自分たちの検索結果に関してな、直接プログラムでアクセスするのをとーっても嫌がるんよ。だから、「自分のサイトの検索順位を調べたり」「検索結果数を取得する」なんてことは、公式には許さないんよね。

やっちゃうと、まあ、怒られちゃうわけよ。とーっても面倒だったり、あんたが使ってるIPがブロックされちゃったりするんよ!それでも良いのかな?

でも、うち、あんたの願いを叶えるために、その代わりの案を思いついたで、聞いてくれるか?ウェブスクレイピングっていう方法で、他の検索エンジン(DuckDuckGoとか)から検索結果を取得するんや。それなら、類似の情報が得られるで。こんな感じでスクリプトを書いてみるわ。

“`python
f

Pythonで〇×ゲームのAIを一から作成する その132 デコレーター式を利用したすべての AI の関数の再定義

# 目次と前回の記事

https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

https://qiita.com/ysgeso/items/b4703c69e6211faa089c

## これまでに作成したモジュール

以下のリンクから、これまでに作成したモジュールを見ることができます。

| リンク | 説明 |
|:–|:–|
| [marubatsu.py](https://github.com/ysgeso/marubatsu/blob/master/132/marubatsu.py) | Marubatsu、Marubatsu_GUI クラスの定義|
| [ai.py](https://github.com/ysgeso/marubatsu/blob/master/132/ai.py) | AI に関する関数 |
| [test.py](https://github.com/ysgeso/marubatsu/blob/master/132/test.py) | テストに関する関数 |
| [util.py]

TensorFlow vs PyTorch: Which Framework Dominates in 2024?

![Image contains blog title “TensorFlow vs PyTorch: Which Framework Dominates in 2024?” with pytorch and tensorflow logo](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3905379/db6f4031-1721-5789-d0fd-6fdb1c1ec329.png)

As in any debate, choosing the appropriate deep learning framework can often feel like selecting sides in an intense argument. TensorFlow and PyTorch have long been two of the leading frameworks, each boasting passionate supporters with distinct advantages. Both fra

【Ruby,Python初学者必見】LinterとFormatterは必ず入れましょう

# はじめに

みなさん、こんにちは。Happiness Chainメンターのryoです。

今回は、Ruby、Python初学者向けに、LinterとFormatterの重要性と、どのLinterとFormatterを入れればよいか、またVSCodeを使用している人向けに、VSCode上でRuby、PythonのLinterとFormatterを動作させる環境構築手順をお話します。

# Linter、Formatter、コーディング規約について

**Linter**はコードのバグや構文エラー、一部不適切なコーディングスタイル(コードの見た目)、お作法を検出するライブラリです。通常RubyやPythonはコードを実行しないとエラーを検出できないですが、実行前にエラーを検出することができます(静的解析)。

**Formatter**はコーディングスタイルをチェックして、自動整形するライブラリになります。
改行の挿入やスペースの有無等を自動整形するので、見た目がとても良くなります。

コーディングスタイルやお作法に関するチェックは、**コーディング規約**に従ってチェックするものにな

言語処理100本ノック【NLP 10 ~ 19】

# はじめに
自然言語処理を専門として研究に励んでいる大学院生なのですが,[言語処理100本ノック](https://nlp100.github.io/ja/)をやったことがなかったので,アドベントカレンダに合わせて取り組んでみることにしました.
簡単な説明を付した記事を投稿予定ですが,どこまで続くかは忙しさによるのであまり期待しないでください……

さて,今回は10〜19です.
普段使用している言語がPythonなのでその実装を示そうかなとも思いましたが,既に多くの人が解説している & それほど難しくないということで,UNIXコマンドを示したいと思います.

前回の記事もあるので,良ければ見てみて下さい!

https://qiita.com/Yorozuya59/items/f02f0c514d6f89554dc5

# 10. 行数のカウント
行数をカウントせよ.確認にはwcコマンドを用いよ.

“`bash: 10.sh
wc -l $1

# Usage:
# $ bash 10.sh popular-names.txt
“`

個人的にはあまり使わないコマンドですが