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

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

TensorFlowを利用するWSGIサーバの構築に向けたPython3環境の構築(完結・Amazon Linux 2023編)

# まえがき
Python3環境構築シリーズ3部作も、今回のAmazon Linux2023をもって締めくくりとなりました。いろいろなことがありましたが、ひとつ気づいたことがあります。

今回、いい機会なので、Amazon Linux 2023のインスタンスを作ったのですが、AMIの選択肢は以下の画像のようになっていました。

![AMI images](https://hashimoto-net.jp/images/AMI_Images.png “AMI images”)

これは自分にとっても初耳なので、驚きでした。TensorFlowは扱いが難しいパッケージであるために、「Deep Learning OSS」と称して、AWSの側でも AMI イメージを用意しているのですね。

今回の記事は、tensorflow2.16.1をターゲットとしているため、ほぼ同様のことが出来るのではないかと思います。そういった意味では、使用されているLinuxをAWSのDeep Learning OSS 相当にするチャンスではないか、と。

## 前提
+ OS: Amazon Linux 2023

元記事を表示

[初心者]Python Djangoで単体テスト(unittest)書いて開発[Factory Boy][Mock]

## 1. はじめに

この記事では、Djangoを使ってシンプル(もどき)なECサイトを構築し、そのサイトに対して単体テストをどのように書くかについて学びます!
Pythonの日本語の教材って意外と単体テスト書いてくれてないので結構な分量で書きました。
![ヘッダー画像.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260345/6b295cec-4cf3-305e-baa4-df12b503ef6f.jpeg)

一応、超簡単に単体テスト書くといいこと触れときます。
コードの量が増えれば増えるほど機能追加や変更が恐ろしくなります。単体テスト書くと完璧ではないですが、リリースするのが少し自信出ます😉
開発初期では書く方が開発遅くなると思いますが、書かないと次第に辛くなっていきます(体験済み)ので身につけておいて損はないですよ!

簡単なアプリ作成経験あると仮定して作っていきます。経験ないと言う方は昔書いた記事を参考に

https://qiita.com/Bashi50/items/c686d30f

元記事を表示

OpenCV を使ってお絵かきアプリを作る方法(改良版)

# 0.最初に
「opencv お絵描き」でggって一番上に出てくる記事のものを改良したので紹介します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719521/321a3703-c40c-b8af-e838-eaee8c69c9c5.png)

参考記事:

https://qiita.com/igor-bond16/items/ef26167a1139a34e24af

# 1.紹介
参考にした @igor-bond16 さんのはこんな感じ。
参考
マウスを速く動かしたときに連続せず点々になっているのが気になりますね。

次に改良したのがこんな感じ。
参考TensorFlowを利用するWSGIサーバの構築に向けたPython3環境の構築(続・Ubuntu編)

## 記述を行うところの動機
+ 前回の記事を補足したかった
+ 環境作成作業自体が混沌としていたので、実際の稼働に対する担保が取りづらくなっていた
+ 特に、pip3によるインストールでのインストールする必要なライブラリについては、明記する必要があった
+ 動くサンプルを提供しなければ、と思い込むタイプなので

## 前提
* OS:Ubuntu 24.04 LTS
* Python: version python-3.9.18
* Chat-GPT API:GPT-4V

## 環境作成

### OSのインストール
下記リンクを参考にしてください。

[Ubuntuを入手する](https://jp.ubuntu.com/download)

### OSのアップデート
こちらも行いましょう。
“`
sudo apt update
sudo apt upgrade
“`

### WSGIサーバのインストール
Apache です。
“`
sudo apt install apache2
“`

WSGI環境構築につきましては、前回の記事にリンクがありますので、参照ください

元記事を表示

PostgreSQL: Python3 で csv をインポート

テーブルと csv のコラムの順が同じであるとします。

## プログラム

“`py:csv_import.py
#! /usr/bin/python
# csv_import.py
#
# Jul/04/2024
# ——————————————————————
import pandas as pd
import psycopg2
import sys
# ——————————————————————
def get_columns_order(cur,table_name):
array_columns = []
sql = “””
SELECT column_name
FROM information_schema.columns
WHERE table_name = %s
ORDER BY ordinal_position;
“””
cur.execute(sql, (ta

元記事を表示

python勉強記録②

python勉強記録①で取得したデーターをCSVへ出力し、Streamlitで可視化する。

“`python:chart.py

import streamlit as st
import pandas as pd

# CSVファイルの読み込み
df = pd.read_csv(‘out.csv’)

# タイムスタンプをdatetime型に変換
df[‘timestamp’] = pd.to_datetime(df[‘timestamp’])

# スライダーで期間を指定
start_date, end_date = st.slider(
“期間を選択してください”,
min_value=df[‘timestamp’].min().to_pydatetime(),
max_value=df[‘timestamp’].max().to_pydatetime(),
value=(df[‘timestamp’].min().to_pydatetime(), df[‘timestamp’].max().to_pydatetime()),format

元記事を表示

サッカーの写真の中からボールを持つ人が全身写っているものだけを識別するアプリ

# はじめに
はじめまして。エンジニア転職を目指してAidemyさんのAI開発講座を受講している元サラリーマンです。
趣味で映像編集をしていて、所属するサッカーチームの振り返り映像を作ることがあります。たくさん撮ったサッカーのプレーの写真の中から、映像制作に使うことの多い「ボールを持つ人が全身写っている写真」だけを選び出すアプリがあれば、映像制作にかかる時間も短縮できるのではと思い、その作成した過程について書こうと思います。

![Screenshot 2024-07-04 at 6.13.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3829415/a206c0fe-75c5-6c5d-a310-82a0095d39ba.png)

# 目次
実行環境
データの準備
モデルの構築・学習・評価
Webページの作成(HTML・CSS・FLASK)
Renderへのデプロイ
今後の活用
おわりに

# 実行環境
iMac (Retina 5K, 2017)
Google Colaboratory
V

元記事を表示

【Python】複数のシェルスクリプトのAPIコールを1コマンドですべて実行させる方法

# 概要
とあるディレクトリにある複数のシェルスクリプトファイルを1コマンドで勝手に一つずつ実行させていくコードを書いたので紹介します。

# サンプルコード解説

“`py
import subprocess
import os

# スクリプトが存在するフォルダのパス(現在のディレクトリとしています)
folder_path = ‘./’

scripts = sorted([files for files in os.listdir(folder_path) if files.endswith(‘.sh’)])

# APIのエンドポイント
api_endpoint = ‘http://localhost/api’

for script in scripts:
script_path = os.path.join(folder_path, script)
print(f”Executing {script}…”)
subprocess.run([‘sh’, script_path, api_endpoint])
print(f”Finish

元記事を表示

Ubuntu環境でPython環境構築

## 0. システムのアップデート
>開始する前に、システムが最新であることを確認することが常に良いアイデアです。ターミナルを開いて、次のコマンドを実行してください。
“`
sudo apt update && sudo apt upgrade
“`

## 1. Python3
##### バージョンの確認
“`
python3 –version
>>> Python 3.10.12
“`
バージョンが返ってこない場合は、インストールを行う。
(バージョンは3.10でも良いと思います)
“`
sudo apt install python3.9
“`

## 2. pip
##### pipのバージョン確認
“`
pip3 –version
>>> pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
“`
こちらもバージョンが返ってこない場合は、インストールを行う。
“`
sudo apt install python3-pip
“`

## 3. 仮想環境の作成
“`
pyth

元記事を表示

PostgreSQL: プライマリーキーの取得

## プログラム

“`py:get_primary_key.py
#! /usr/bin/python
#
# get_primary_key.py
#
# Jun/03/2024
#
# ——————————————————–
import os
import sys
import psycopg2
from dotenv import load_dotenv
#
# ——————————————————–
# [8]:
def get_primary_key_proc(cursor_aa,schema,table_target):
# sql_str = “SELECT tc.table_name, kcu.column_name ”
sql_str = “SELECT kcu.column_name ”
sql_str += “FROM information_schema.table_constraints AS tc

元記事を表示

PostgreSQL: サブセットのテーブルをペアレントのテーブルにコピー

## テーブル定義

サブセットのテーブル

“`text
city=# \d cities
Table “public.cities”
Column | Type | Collation | Nullable | Default
————+———————–+———–+———-+———
id | character varying(10) | | not null |
name | text | | |
population | integer | | |
date_mod | date | | |
Indexes:
“citi

元記事を表示

Anacondaを使わずPythonにGDALをインストールする方法

PythonにGDALをインストール手順で躓いた際の解決方法の備忘録です。私はGDALでしか検証していませんが、地理空間系の解析に必要な他のライブラリ(basemap, Cartopy, cftime, Fiona, netCDF4, pygeos, pyproj, rasterio, Rtree, shapely)についても同様の手順が使えそうです。

# GDALのインストールでエラー発生

久々に画像解析の作業を行うことになり、PCにPythonをインストールしました。次いで必要なパッケージも`pip`コマンドを使ってインストールしていったのですが、GDALをインストールしようとしたところ、エラーが出て止まってしまいました。

“`terminal
> pip install gdal

Collecting gdal
Using cached gdal-3.9.1.tar.gz (840 kB)
Installing build dependencies … done
Getting requirements to build wheel … done

元記事を表示

Seleniumの激遅find_elementsから開放されよう、lxmlのすすめ

# はじめに
ブラウザ操作を自動化するライブラリのSelenium。
Seleniumのfind_elementメソッド遅くて正直しんどくないですか?
特に大量のデータを扱うときなんかだと、イライラしてキーボードを投げたくなっちゃうこともしばしば…。
そんな時は、`page_source`をもってきてlxmlに食わせてしまいましょう。

# 動作環境
– Python 3.12.3
– google-colab-selenium-1.0.13

# どのくらい違うの?
以下のコードで実行時間を比較してみました。
今回は、例として、[Yahoo Japan](https://www.yahoo.co.jp/)からリアルタイム検索で話題のキーワードを取得します。

“`py
import google_colab_selenium as gs
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
import datetime
import lx

元記事を表示

pythonでopenCVを使おうとしたらimportエラーが起きた

# はじめに

WSL2+poetry+python環境で開発を行っています。
昨日までは問題なく実行できていたプログラムでしたが、今日は急にopenCVがエラーを起こしました。
なんで昨日までは動いていたんだよ…

最後の一文に原因が載っていました。
“`
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
“`

libGLがないとのことです。

# やったこと

結構ありがちなエラーらしく、いろいろな記事で触れられていました。
人によってやり方が違うので、まとめて載せておきます。

私は以下のコマンドで解決できました。

“`bash
sudo apt install libopencv-dev
“`

libopencv-devを削除したうえで、以下のコマンドも試してみました。
こちらも解決できました。

“`bash
sudo apt install libgl1-mesa-dev
“`

以下は試していませんが、解決するらしいです。
“`bas

元記事を表示

Python FizzBuzz問題

**FizzBuzz**問題とは、「1~100までの値で3で割り切れる場合Fizz、5で割り切れる場合はBuzz、両方で割り切れる場合FizzBuzz」と表示するものです。
多種多様な書き方があるので一部を抜粋

#### 1
“`python
for i in range(1, 101):
if i % 3 == 0 and i % 5 == 0:
print(“FizzBuzz”)
elif i % 3 == 0:
print(“Fizz”)
elif i % 5 == 0:
print(“Buzz”)
else:
print(i)
“`

#### 2
“`python
for i in range(1, 101):
if i % 3 == 0:
print(“Fizz”, end=””)
if i % 5 == 0:
print(“Buzz”, end=””)
if i%3 and i%5:
print(i

元記事を表示

Python用 型一覧【自分用】

| 1 | 2 |
|:-:|:-:|
| 真偽 | bool |
| 数字(整数) | int |
| 数字(少数含む) | float |
| 文字列 | str |
| リスト | list |
| タプル | tuple |
| 辞書 | dict |

元記事を表示

【初心者向け】知っておくと役に立つPythonのTips

Pythonで意外と知らないTipsをいくつか紹介
逐一思い出し次第追加していきます。

### 文字列の中で変数を使用する
“`python
a = “hoge!”
print(f”Hello,{a}”)
“`

### リストの最後尾
Pythonでは、インデックスに-1を指定することにより、一番最後の値を参照することができる
“`python
list = [“hoge”, “hogee”, “hogege”, “hogehoge”]
print(list[-1])#出力 hogehoge
“`

### リストのスライス
リストは[]内で:を使用することにより、n~mというように一部を取り出すことができる
“`python
list = [“hoge”, “hogee”, “hogege”, “hogehoge”]
print(list[2:4])#出力 [‘hogege’, ‘hogehoge’]
“`
これを利用することにより、文字列の「何文字目から何文字目」というような取り出し方もできる。
“`python
string = “hello world!”
p

元記事を表示

【python】PDFファイルの文章をテキストファイルに変換してみた

# はじめに
pythonプログラムを使ってサーバー上のPDFファイルを読み取り、テキストファイルに読み込む必要性が出てきたので、調査しました。

## pdfminer.sixのパッケージインストール
PDFを読み込むライブラリとして、「pdfminer.six」パッケージをインストールします。

pipコマンドを使います。

“`
$ pip install pdfminer.six
“`

## 実装したソースコード
LAParamsオブジェクトを作成し、extract_text()のオプションを指定し、抽出結果をテキストファイルにするため、codecsライブ来を使います。

“`python
from pdfminer.layout import LAParams
from io import BytesIO
from urllib import request
from pdfminer.high_level import extract_text
import codecs

url = “https://flora-inc.co.jp/score/%E4%BB%A

元記事を表示

MacのpyenvでPython3.11, 3.12をインストールできない

ネット上でまとまった日本語の記事を見つけられなかったので、今後同じ過ちを繰り返さないため&同じ事態に遭遇して挫折している方の手助けになればと思い作成しました!
## 要約
– 開発PCのMacのCPUがX86_64である。
– homebrewを使用している。
– pyenvでPython3.11, 3.12をインストールできない。
– pyenvインストール時にXCodeのCLangではなくGCCを使用したためにエラーが発生している。
– つまりPATHをいじれば良い。
## はじめに
今回MacにpyenvでPython3.11, 3.12をインストールできない状態になったのでそれを解決した方法を記事にします。
Macユーザーで開発されている方もおられると思いますが、Mac購入時にCPUまで気にされる方は多くないのではないでしょうか?
実は重要な内容だったりします。
今回のPythonがインストールできない原因はCPU依存だったのです。
## 環境について
まず僕のMac環境からです。
– CLIはzshでbrewで各種ツールをインストール。
– direnv、poetry

元記事を表示

Mp3ファイルを再生 [python]

# 概要
デジタルフォトフレームは写真のみ再生ですので、バックグラウンドにMP3ファイルを再生するのもよいかなと思ってネットで調べたものをメモしてみます。

# インストールするパッケージ
①サウンドを出力するパッケージをインストールする

・パッケージインストール

~~~bash
pi@RPI3B:~ $ pip install playsound
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting playsound
Downloading https://www.piwheels.org/simple/playsound/playsound-1.3.0-py3-none-any.whl (8.0 kB)
Installing collected packages: playsound
Successfully installed playsound-1.3.0
~~~

・サンプルコード

~~~bash
import playsound
playso

元記事を表示

OTHERカテゴリの最新記事