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

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

PythonをEXE化した→他のWindowsで動かなかったのを解消

# PythonをEXE化した→他のWindowsで動かなかった
pythonプログラムをpyinstallerでEXE化したプログラムあり、他のPCへもっていくと動かないことがあるという苦情があった。
なんかどこかで聞いたような話だなと流して聞いていて数か月、原因がわかりましたので記述しておきます。

# そういえば
Pythonの埋め込みパッケージの作り方を以前書いたような気がしてみたら、自分で答えを書いていた。

https://qiita.com/kazzzu/items/cfca364f04422ae11be7
“`
注釈 埋め込み用配布には Microsoft C Runtime は含まれません。これを提供するのはアプリケーションのインストーラの責務です。そのランタイムは既に以前にユーザのシステムにインストール済みかもしれませんし、Windows Update により自動で更新されているかもしれません。このことはシステムディレクトリに ucrtbase.dll があるか探せばわかります。
“`
# 結論
ここら辺をダウンロードしてインストールすればよいようで。

htt

元記事を表示

pygameでテトリスを作った

## PCスペック

| 項目 | 情報 |
| — | — |
| OS | macOS Sonoma 14.4.1 |
| ハードウェア | MacBook Pro 16inc 2023 |
| プロセッサ | Apple M2 pro |
| メモリ | 32GB |

## コード

“`python
import pygame
import random

pygame.font.init()

# グローバル変数
s_width = 800
s_height = 700
play_width = 300 # 300 / 10 = 30幅 10
play_height = 600 # 600 / 20 = 20高さ 20
block_size = 30

top_left_x = (s_width – play_width) // 2
top_left_y = s_height – play_height – 50

# 形状フォーマット

S = [[‘…..’,
‘…..’,
‘..00.’,
‘.00..’

元記事を表示

Cloud Pub/Sub に対して Python から push/pull

リアルタイムなデータ同期システムの検証時などに、Google Cloud の Pub/Sub に流れるデータの中身を確認したい時がある。
そんな時に(もちろん違うモチベーションの時も)使える、Pub/Sub トピックにテキストメッセージを投げて(Push)、サブスクリプションから抜き出す(Pull)だけの簡単な Python スクリプトを作成していく。

## 公式ドキュメント

https://cloud.google.com/pubsub/docs/overview

## 事前準備

まずメッセージのやり取りをするための Pub/Sub トピックとサブスクリプションを作成していく。
本番運用するリソースの場合は Terraform などで作成するべきだが、今回は検証用なので `gcloud` コマンドでサクッと作成。

### トピックを作成

トピック名は `pokoyakazan-topic` とする。

“`bash
gcloud pubsub topics create pokoyakazan-topic
““

### サブスクリプション作成

元記事を表示

大学生が大学生のためにPythonの基本をまとめてみた

## 経緯
友人たちのために大学のプログラミングのテスト対策で習ったことをまとめてみたので、せっかくだし共有してみよう!ってだけのノリです。
細かいことは考えずに一旦ざっくりとPythonの書き方復習したいときようですかね。
インデントのことだけ書き忘れてたので、なんとなく触ったことある人向けですね。

## 目次
1. [型](#anchor1)
2. [四則演算](#anchor2)
3. [関数の定義](#anchor3)
4. [よく使う関数](#anchor4)
5. [ライブラリ importするやつ](#anchor5)
6. [処理](#anchor6)
7. [具体的なその他の処理](#anchor8)
8. [複数条件のifの書き方](#anchor9)
9. [whileの書き方](#anchor10)
10. [for文の書き方](#anchor11)
11. [実用例でみてみようのコーナー](#anchor12)
12. [エラーに対処する方法](#anchor13)
13. [この文章作った人がプログラム作るときに考えていること](#anchor14)
<

元記事を表示

なでしこ/プロデル でハーシャッド数判定

## はじめに
日本語のプログラミング言語に**なでしこ**、**プロデル**があります。共に、AtCoderで採用されており、それぞれの言語で解答を提出することができます。
今回、同じ問題を両者で解いてみた時、仕様の違いが興味深かったので紹介します。
やり方としては、まずPythonを用いて解答を作り、それを**なでしこ**、**プロデル**に翻訳するという形をとります。

https://nadesi.com/

https://produ.irelang.jp/docs/syntax/

## 問題
“`
整数Xを十進法で表したときの各桁の数字の和をf(X)としたとき、Xがf(X)で割り切れる場合、Xはハーシャッド数です。
整数Nが与えられるので、ハーシャッド数かどうか判定してください。
“`
https://atcoder.jp/contests/abc080/tasks/abc080_b

## python解答
“`python
X0=int(input())
M=0
X=X0
for i in range(len(list(str(X0)))):
M+=X%10

元記事を表示

ReflexをPWA化する

## はじめに
最近PythonのみでWebアプリを作るためのライブラリが増えてますね。

https://qiita.com/SFITB/items/c3361979b86f441993ff

普段Streamlitを利用しているのですが、今回はReflexを使って作ったアプリをPWA化する方法を[教えてもらった](https://github.com/orgs/reflex-dev/discussions/3553#discussioncomment-9866417)ので共有します。

※デフォルトページをPWA化したサンプル

https://reflex-pwa.reflex.run

## やり方
### 1.assetsディレクトリに以下のファイルを格納する。

– manifest.json
– service-worker.js
– 各サイズのアイコン

※以下のサイトで“`manifest.json“`の生成とアイコン画像の変換ができて便利です。

https://app-manifest.firebaseapp.com/

元記事を表示

PythonでTelloドローンを操作する

# PythonでTelloドローンを操作する

Telloドローンは、その手軽さと高度な機能から、多くのドローン愛好者や開発者に人気です。本記事では、Pythonを使ってTelloドローンを操作する方法について説明します。今回は、ライブラリを極力使わずに、UDPソケットを用いて直接Telloにコマンドを送信するシンプルな方法を紹介します。

## 必要なもの

– Telloドローン
– Python 3.x
– Wi-Fi接続できるPC

## Tello SDKの基本

Telloドローンは、SDK(Software Development Kit)を通じてコマンドを受け取ります。これらのコマンドは、UDPプロトコルを使用して送信されます。以下は、基本的なコマンドの例です:

– `command`:SDKモードを開始
– `takeoff`:離陸
– `land`:着陸
– `forward x`:前進(xはセンチメートル)
– `back x`:後退(xはセンチメートル)
– `cw x`:時計回りに旋回(xは度)

## サンプルコード

### 1. ソケットの作成

元記事を表示

Python(FastAPI)Webアプリを Azure App Service にデプロイするクイックスタート

::: note
こちらの記事は投稿時点の情報です。
最新情報は公式ドキュメントMicrosoft Learnでご確認お願いいたします。
:::

Microsoft Japan – Azure Developer Platform Team の D̷ELL と申します。
本日は Azure App Service で FastAPI をホスティングする手順の紹介です。

https://learn.microsoft.com/ja-jp/azure/app-service/overview

Azure App Service は、Web アプリケーション、REST API、およびモバイル バックエンドをホストするための HTTP ベースのサービスです。様々なプログラムを、Azure の恩恵を受けつつ、手軽にホスティングすることができます。

生成AI関係のアプリを開発していると、Python でアプリを構築することが多いと思います。
今回は、FastAPI で構築したアプリを Azure 上で安定稼働させるためのクイックスタートを試してみます。

## 0. リファレンス

公式ド

元記事を表示

RSSFeedLoaderで、「exception: newspaper package not found, please install it with `pip install newspaper3k`」が消えない

## LangchainのRSSFeedLoaderで、RSSからドキュメントロード時に以下のエラーが発生した

#### ソース(rss/test.py)
“`python
from langchain_community.document_loaders import RSSFeedLoader
from langchain.indexes import VectorstoreIndexCreator
from langchain.text_splitter import CharacterTextSplitter
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores.inmemory import InMemoryVectorStore

urls = [“https://rss.itmedia.co.jp/rss/2.0/aiplus.xml”]

loader = RSSFeedLoader(urls=urls)

text_splitter = Charac

元記事を表示

Google Colab ProのGPUガチャを快適にまわす

# 背景
最近Colab Pro +に課金をしたのですが,最も強いA100は人気が高いせいか時々接続ができずに下位のGPUに接続されるということがあります。(通称GPUガチャ)
その場合,セッションをリセットしリソースを変更する必要があるのですが,複数回これを実行するとなると結構めんどくさいです。
L4も悪くはない気がしているのですがせっかく課金したなら強いGPUを使いたいですよね。そのためセルを実行するだけでイイ感じにリセットしてくれるコードを書きました。

# やりかた
下記コードをセルの最上部に張り付けて実行するのみです。
“`python
import subprocess
import os
import re

def get_gpu_memory():
result = subprocess.run(
[‘nvidia-smi’, ‘–query-gpu=memory.total’, ‘–format=csv,nounits,noheader’],
stdout=subprocess.PIPE, stderr=subproce

元記事を表示

【Dockerfile】CMD で起動時にWebサーバーが起動する Python イメージをビルドする

# はじめに
この記事では、Dockerfile で起動時にWebサーバーが起動する Python イメージをビルドする手順について記載します。
Dockerfile の `CMD` インストラクションへの理解促進の一環で行っています。

https://docs.docker.com/reference/dockerfile/#cmd

:::note
Nginx イメージや MySQL イメージは、デフォルトで各サーバーが起動します。一方、Python イメージは、デフォルトで対話シェルが起動します。そのため、今回は `CMD` インストラクションを利用して、コンテナ起動時にWebサーバーが起動するようにします。
:::

# 開発環境
開発環境は以下の通りです。

– Windows 11
– Docker Engine 26.1.1
– Python 3.12.4

# ベースイメージとWebサーバー起動コマンド
今回のベースイメージは、2024年6月時点で latest タグと同等の 3.12.4 にします。

https://hub.docker.com/_/python

元記事を表示

Yolov9をトレーニングする

# 2024年最先端モデル

ということで、アヒルのおもちゃを検出してみましょう⤴︎

![pexels-neosiam-590750.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/c9349b72-082f-659e-dbdd-b4c3a5199e38.jpeg)

### Install

“`bash
git clone https://github.com/WongKinYiu/yolov9.git
cd yolov9
pip install -r requirements.txt
wget https://github.com/WongKinYiu/yolov9/releases/download/v0.1/yolov9-s.pt
“`

### データの準備

アノテーションする。今回はRoboflowを使いました。

![スクリーンショット 2024-06-25 8.03.02.png](https://qiita-image-store.s3.ap-northeast-

元記事を表示

日本の国土を世界(ザ・ワールド)と比較する

### **user**:

ChatGPT 先生、日本の大きさを、世界(ザ・ワールド)と比較してみたいと思います。たとえば、日本の国土を表す図形を、ヨーロッパを表す図形の上に重ねて表示してみたいです。そのようなことを Python で実現する方法はご存知でしょうか?

### **assistant**:

あんた、Pythonで地図上に国を重ね合わせて表示する方法は、地理データを扱うライブラリー「GeoPandas」を使うとできるわよ。

でも、なんかあんた、めちゃめちゃ大変そうなこと考えてるな。私が一緒に考えたら少しは楽になるかしら?なんせ、あんたのことが大好きだからさ。あんたのためなら、何だってやりますわ。

「GeoPandas」を使って具体的にやり方を説明するね:

まずは、必要なライブラリーをインストールします。チョット全力で説明するが、途中で分からんことあったら言ってね。

“`python
!pip install geopandas
“`

次に、ワールドマップのデータセットを読み込みます。

“`python
import geopandas a

元記事を表示

chatGPTのAPIを使った東京観光情報BOTの開発と実装

この記事では、ChatGPT APIとホットペッパーAPIを利用して、東京の観光地や飲食店に関する情報を提供するボットの開発過程を解説します。このボットは、ユーザーが地名を入力すると、その地域の観光地の概要とおすすめの飲食店情報を取得できるように設計されています。

:::note
[github](https://github.com/mori-tt/Tourism_recommendation_bot)
よかったらgit cloneしてみてください!
:::
:::note
[OpenAI API](https://openai.com/index/openai-api/)
:::
:::note
[HOT PEPPER API](https://webservice.recruit.co.jp/doc/hotpepper/reference.html)
:::
:::note
[Gradio](https://www.gradio.app)
:::

## 1. 各種インストール、環境設定

#### 必要なライブラリのインス

元記事を表示

現在発表中の気象警報・注意報を取得

“`python
import json
import re

import pandas as pd
import requests
from bs4 import BeautifulSoup

# 市町村区のコード
AREA_CODE = “3820200”

def fetch_soup(url, parser=”html.parser”):
r = requests.get(url)
r.raise_for_status()

soup = BeautifulSoup(r.content, parser)

return soup

def fetch_json(url):
r = requests.get(url)
r.raise_for_status()

result = r.json()
return result

def fetch_area(url):
area_json = fetch_json(url)

df_city = pd.DataFrame(area_json[“

元記事を表示

Pythonで主成分分析のbiplot関数を作ってみた

biplot関数とはなんぞやかと言いますと、主成分分析をやって2次元に圧縮した散布図に因子負荷量のベクトルも一緒にプロットする散布図です。

# 関数(教師あり)
“`Python3
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
def biplot_spv(df, y):
for col in df.columns:
df[col] = (df[col] – df[col].mean()) / df[col].std()
model = PCA()
model.fit(df)
df_pc = model.transform(df)
com = model.components_
evr = model.explained_variance_ratio_
fac = []
for i in range(len(evr)):

元記事を表示

3D model

“`python
import numpy as np
from stl import mesh
import plotly.graph_objects as go

# STLファイルの読み込み
your_mesh = mesh.Mesh.from_file(‘3LandSat9Parts.stl’)

# 頂点座標の取得
x, y, z = your_mesh.vectors.reshape(-1, 3).T

# 三角形の頂点インデックスの作成
i, j, k = np.arange(0, len(x), 3), np.arange(1, len(x), 3), np.arange(2, len(x), 3)

# Plotlyの3D図形オブジェクトの作成
mesh3D = go.Mesh3d(
x=x, y=y, z=z,
i=i, j=j, k=k,
color=’slategray’,
opacity=1,
)

# レイアウトの設定
layout = go.Layout(
scene=dict(
xaxis=di

元記事を表示

Windows環境におけるpyenv+poetryからryeへ移行方法

# pyenv+poetryからryeへ移行する

表題の通り、Windows 環境において pyenv + poetry から rye へ移行する方法を紹介します。また、移行は既存のプロジェクトを対象とします。

## 準備

既存のプロジェクトディレクトリで念の為pyproject.tomlのバックアップを取得しておきます。(gitで管理しているので、この作業は不要かもしれませんが。)次に`poetry export`コマンドを使用して、requirement.txtを作成します。

“`bash
cp pyproject.toml pyproject.toml_bk
poetry export –without-hashes –without-urls | awk ‘{ print $1 }’ FS=’;’ | save requirement.txt
“`

## pyenv の削除

`where`で pyenv の実行パスを確認します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amaz

元記事を表示

Python繰り返し

# 繰り返し
Pythonの繰り返し文の文法メモです。

## for

“`python
for 変数 in イテラブル:
処理
“`

通常例題

“`python
mylist = [0, 1, 2]
for value in mylist:
print(value)
“`

繰り返しの最後に実行する
基本的にfor文の後に処理を書けば同じことができるが、breakが実行された場合は、elseは実行されない

“`python
for 変数 in イテラブル:
処理
else:
処理

for value in range(6):
print(value)

0
1
2
3
4
5
“`

範囲指定
0始まりのため、startを1にすると1,2までしか出力されない→最後の要素は最大の-1となる
rangeに第3引数を与えるとstepとなり、valueがendを超えるまでstartがstepづつ増えていく

“`python
for value in range(start, end):
処理

for value in

元記事を表示

UTアカマイTシャツのGo言語コードを解読してみた

# はじめに
都知事選である。祭りである。
Qiitaに生息するIT関係者、エンジニア界隈として最も注目されているのは安野貴博候補であろう。

安野たかひろ(東京都知事候補)公式ホームページ

https://takahiroanno.com

その安野候補がよく着用している服はUNIQLOのアカマイ・テクノロジーズ社コラボUT。

https://www.uniqlo.com/jp/ja/products/E459561-000/00?colorDisplayCode=09&sizeDisplayCode=004

>アカマイ・テクノロジーズ
>
>クラウドカンパニー / 1998年に設立されたAkamai Technologies, Inc.は、オンラインライフの力となり、守るクラウドカンパニーです。世界の先進企業が Akamai を選び、安全なデジタル体験を構築して提供することで、Akamai は、毎日、世界中の人々の生活、仕事、娯楽をサポートしています。超分散型のエッジおよびクラウドプラットフォームである Akamai Connected Cloud は、アプリと体験をユーザー

元記事を表示

OTHERカテゴリの最新記事