Python3関連のことを調べてみた2022年09月19日

Python3関連のことを調べてみた2022年09月19日
目次

RaspberryPi4BにPython3.10をインストールした

# やること
RaspberryPiにPython3.10をインストールして使えるようにする。

# 背景
WSL2で作ったPythonスクリプトをRaspberry Pi 4Bで実行しようとしたらエラーがでた。
よくよく観察すると、Pythonのバージョンが古いことが原因っぽい。
Pythonのバージョンを見てみたら、3.7xxとかだった。

# RaspberryPi のバージョンとか
HW: Raspberry Pi4B
OS: RaspberryPiOS(64bit)
“`
$ uname -a
Linux raspberrypi 5.10.17-v8+ #1421 SMP PREEMPT Thu May 27 14:01:37 BST 2021 aarch64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
$ cat /

元記事を表示

psycopg3の「AttributeError: partially initialized module ‘psycopg’ has no attribute ‘connect’ (most likely due to a circular import)」でハマった

# 発生事象
以下のスクリプトを実行しようとしたところエラー発生

“`python:select.py
import psycopg;

con = psycopg.connect(
host = ‘mydomain.jp’,
port = 5432,
dbname=’sample’,
user=’admin’,
password=’sample’);
“`

“`bash
$ python3 select.py
Traceback (most recent call last):
File “select.py”, line 1, in
import psycopg;
File “/usr/local/lib/python3.8/site-packages/psycopg/__init__.py”, line 9, in
from . import pq # noqa: F401 import early to stabilize side effects
File

元記事を表示

毎日のMicrosoftFormsに自動回答して寝る

# hi
はろー
##### 現役JKのTrimscashだぞ

今日はこんな感じの定期的に出さなきゃいけないFormsを自動的に出して幸せになるぞ
2段階認証の必要なサービスも自動化可能

サンプルフォーム

https://forms.office.com/Pages/ResponsePage.aspx?id=XYP-cpVeEkWK4KezivJfyH11yZXFh-dKnUF3d_rMgjRUOEozUDRWODBHMDBNRkNCOExOUlFYNUtWNS4u

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730711/9b8d6d49-84b2-5269-bd2e-8320ed048d67.png)

# 環境構築
まずPython3でChromeの自動操作をするには,
– Selenium
– Chrome
– ChromeDriver

が必要です.

Chromeは入ってるとして,,,

### Slenium
Seleniumはpipで一発でげす
“`
>p

元記事を表示

変動のあるデータにベースラインを引く

# 概要

例えば、こういった観測値があったとします。

“`python
# — ライブラリパッケージ読み込み —
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams[‘font.family’] = ‘Yu Mincho’

# — データ作成 —
n = 40 # データサイズ
ndX = np.linspace(0.0, 4, n) # X
ndY = 0.5*ndX + np.random.normal(0,0.1, n) # Yのトレンド部分

# Yの変動部分
ndY[5:13] += 1 # 5~13を上に1ずらす
ndY[25:35] -= 3 # 25~35を下に3ずらす

# Yの外れ値
ndY[5] = -2
ndY[10] = 10

# — グラフ表示 —
fig = plt.figure(facecolor=’w’, figsize=(8,4))
ax = fig.add_subplot

元記事を表示

2カ月FE攻略~0日目~

# 目次
[1.はじめに](##-はじめに)
[2.Pythonを導入しよう](##-Pythonを導入しよう)
[3.VSCodeを導入しよう](##-VScodeを導入しよう)
[3.基本操作と四則演算編](##-基本操作と四則演算編)
## はじめに
前回は使用する書籍の紹介を行いました。(Markdown式の記述を推奨してくださった方、ありがとうございます。)

この記事では午後試験対策としてPythonを選んだ理由、導入手順、初歩的なコードについて書きたいと思います。
## なんでPython?
理由は大きく2つあります。
– アルゴリズムをきちんと学ぶことで午前問題との相乗効果を狙っている。
– データ分析をRで扱ってきたが、データサイエンスとしてはPythonの方が一般的(なイメージ)なので学び直したい。

つまりは基本情報技術者試験の勉強を足掛かりにして、実用的なデータサイエンスを学びたいというわけです。
## Pythonを導入しよう
前提として、この日記ではPython3.10.6を使っています。

まずは[ここから](https://www.pytho

元記事を表示

自作のPythonのSVG用ライブラリでパスの描画をサポートしました。

趣味で作っているPythonのSVGベースのapyscというフロント用のライブラリでベジェ曲線などを含めたパスの描画をサポートしたので記事にしておきます。

# ライブラリの概要

パスの描画機能の前にライブラリの基本情報について軽く触れておきます。

## 関連ページ

GitHub:

https://github.com/simon-ritchie/apysc

日本語ドキュメント:

https://simon-ritchie.github.io/apysc/jp/jp_index.html

今回追加になったパス関係のドキュメント:

https://simon-ritchie.github.io/apysc/jp/jp_path.html

## インストール

pipでインストールができます。本記事では執筆時点で最新のv2.5.20を使っていきます。

“`
$ pip install apysc==2.5.20
“`

## 本記事の実行環境

本記事執筆用には楽なのでColaboratoryを使っていきます。

ノートブック上で以下のように記述することでインストー

元記事を表示

Stable Diffusionをローカル環境で動かした

## 環境
– windows11(64bit)
– vs code:1.71.1
– RAM16G
– GPU NVIDIA GeForce RTX 3060
– python3
– pip
## hugfaceに登録する
Stable Diffusionをローカル環境で動かすためには[Hugging Face](https://huggingface.co/)のアカウントを作る必要がある。
>[【簡単】ローカル環境でStable Diffusionを実行する方法](https://self-development.info/%e3%80%90%e7%b0%a1%e5%8d%98%e3%80%91%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%81%a7stable-diffusion%e3%81%a7%e5%ae%9f%e8%a1%8c%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/
)

### hugfaceに登録

https://huggingface.co/blog/stab

元記事を表示

基本情報技術者試験を2か月で取りに行く男の記録

## 知識も時間もない!だけど絶対取る
はじめまして。ただの学生です。

遅ればせながらこの度22年度下期試験の対策を開始しましたので、備忘録も兼ねていくらか投稿していくことにしました。

プログラミング知識はほぼゼロ!なので主に午後試験の対策を書いていくことになると思います。
(ゼミでR、それ以外はC#やPythonを触ったことがある程度です。Progateの初学者コースだけやったみたいなイメージ。)

出来るだけ毎日、学んだことを挙げていければいいなと思ってます。

初投稿なので細かい話はナシにして、とりあえず使用文献を紹介します。
## **午前試験対策**
– イメージ&クレバー方式でよくわかる 栢木先生の基本情報技術者教室(技術評論社)
 ∟おすすめ書籍としてよく上がっていたので購入。好きなのでいいと思う。
– 基本情報技術者過去問道場([基本情報技術者試験ドットコム](https://www.fe-siken.com/fekakomon.php))
 ∟Webで手軽に演習できる!
## **午後試験対策**
– うかる!基本情報技術者 午後・アル

元記事を表示

【Django】prefetch_related の挙動を理解する

# Djangoのprefetch_relatedについて
prefetch_relatedはDjangoのN+1問題を回避するための機能です。
select_relatedと並び重要なメソッドですが、理解が曖昧な部分があったので整理したいと思います。

## DjangoのSQLが実行されるタイミングについて
DjangoがDBを叩きにいくタイミングについて確認しておきます。

### 1.メソッドが呼ばれたタイミング
いくつかのメソッドはクエリセットは返さずに、呼び出されたタイミングでDBを叩きに行きます。
代表的なものをあげておきます。
| メソッド名 | 機能 |
| —- | —- |
| first() | はじめの一つを取得する。返す値がない場合は None を返す |
| last() | 最後の一つを取得する。対象がない場合は None を返す |
| get() | 一つのオブジェクトを返す。対象が1つ以外の場合は models.DoesNotExists, models.MultipleObjectReturned エラーが起きる|
| count() |

元記事を表示

pandasでpivot_tableしつつグループごとにdescribeで統計量を見たい

# はじめに
pandasの`describe()`はとっても便利だけど、`groupby`とか`pivot_table`とかで、任意のグループごとにdescribe()して統計量をパパっと見ることはできないものか?

# pandasの`describe`とは?
データ数、平均、標準偏差、四分位点をさっと調べてくれます
“`py
import pandas as pd
import seaborn as sns
df=sns.load_dataset(“iris”)
df.describe()

#sepal_length sepal_width petal_length petal_width
#count 150.000000 150.000000 150.000000 150.000000
#mean 5.843333 3.057333 3.758000 1.199333
#std 0.828066 0.435866 1.765298 0.762238
#min 4.300000 2.000000 1.000000 0.100000
#25% 5.100000 2.80000

元記事を表示

GoogleDriveのラージ、スモール共有ファイルをGET(Python日本語習作)

# 過去記事でBashだけでやったものをPython関数化
[過去記事](https://qiita.com/engbJapan/items/829ac9be3df50d9ae96f )にて、Bashで強引にGoogleDriveのラージファイルだけを、取得する手順にて判断が出来ない物を同じくしたら、エラーを吐きました。
そのため、Python関数化にチャレンジした習作です。

利用した機能(記法):
.[open](https://docs.python.org/ja/3.7/library/functions.html?highlight=open#open)
.[shlex.split](https://docs.python.org/ja/3.7/library/shlex.html )
.[subpurocess.Popen](https://docs.python.org/ja/3.7/library/subprocess.html?highlight=subprocess#popen-objects )
.[フォーマット済みリテラル「fで始まる変数を組み入れている箇所」]

元記事を表示

Flaskでファイルのダウンロード・アップロードを実装してみた

Flaskでファイルのやり取りができる方法を調べてみたので、忘れないようにメモを残します。

# ファイルのダウンロード

下のプログラムは、クライアントでのブラウザのURL欄に`http://[サーバのIPアドレス]/xxx.bin`と入れると、サーバにある`yyy.bin`というファイルをダウンロードし、クライアント上に`zzz.bin`という名前で保存する、という動作を行います。

“`:ファイル構成
.
├── download.py
└── yyy.bin
“`

“`python:download.py
from flask import Flask,send_file

app = Flask(__name__)
@app.route(“/xxx.bin”,methods=[“GET”])
def download():
return send_file(“./yyy.bin”,mimetype=”application/octet-stream”,as_attachment=False,download_name=”zzz.bin”)

if __name

元記事を表示

Ubuntu 18.04でpip install しようとすると”ModuleNotFoundError: No module named ‘pip._internal’が出る。

# pip が見つからない
“`
pip install pandas
“`

“`
“ModuleNotFoundError: No module named ‘pip._internal’
“`
と出る。。。
pip を再インストールする。
“`
sudo apt install python-pip
“`
“`
sudo apt install curl
“`
“`
curl “https://bootstrap.pypa.io/get-pip.py” -o “get-pip.py”
“`
“`
sudo python get-pip.py
“`
バージョン確認
“`
pip –version
“`
apt update
“`
sudo apt update
“`
apt upgrade
“`
sudo apt upgrade
“`
# pip3 もインストール
“`
sudo apt install python3-pip
“`
“`
pip3 –version
“`
# あとはご自由にpip install
“`
sudo

元記事を表示

【Python】文字列のリストから別のリストの要素を含む文字列を抽出する方法

## 環境
+ conda 4.12.0
+ Python 3.8.12.final.0

## コード
例)リスト `fruits` からリスト `filter` の要素(=ア, イ, ウ, エ, オ)を含む文字列を抽出する。抽出後のリストを `fruits_filtered` とする。

“`py:py
fruits = [“リンゴ”, “イチゴ”, “バナナ”, “ブドウ”, “ミカン”, “キウイ”, “アンズ”]
filter = [“ア”, “イ”, “ウ”, “エ”, “オ”]
fruits_filtered = [f for f in fruits if any((str in f) for str in filter)]
print(*fruits_filtered) # イチゴ ブドウ キウイ アンズ
“`

## コードの解説
### 内包表記
“`py:内包表記の例
# 内包表記
odds = [i for i in range(10) if i % 2 == 1]

# 等価なコード
odds = []
for i in range(10):

元記事を表示

neovimのLSPによるpythonの補完で、opencvが正常に補完が効かない

半年くらい前にvscodeからneovimに乗り換えたのですが、opencvの補完だけが正常に動いてくれないということがあって悩んでいました。numpyとかは普通に補完が効くのですが、例えば以下のようなコードを書いてみると、

“`
import cv2

img = cv2.imread(‘sample.png’)
cv2.imshow(‘img’, img)
cv2.waitKey(0)
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2733597/4ef4c147-2a01-f652-ba9c-771ecbffe8a9.png)

こんな風にneovim上で怒られてしまいます。ただし、ターミナル上では問題なくこのコードは動きます。

## 解決策
https://github.com/emacs-lsp/lsp-pyright/issues/41

このissueを参考にしました。
以下のようにターミナル上でコマンドを打つと解決します。

“`
$ python3 -c

元記事を表示

Pythonデータベースプログラミングを学習したのでまとめ

参考書籍
[Pythonデータベースプログラミング入門](https://www.amazon.co.jp/Python%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80-%E6%97%A5%E5%90%91-%E4%BF%8A%E4%BA%8C/dp/4877834621)
日向俊二 著
カットシステム発行
ISBN 978-4-87783-462-3

# ディレクトリ操作
“`python:dir.py
import os
os.chdir(“C:\\PythonDB\\ch02”)
print(os.getcwd())
“`

元記事を表示

numpyでargsortの逆操作を行う配列を (sort1回のみで) 簡潔に得る

表題のとおりです.

以下のように行うとsortは一回で済み,for文を使う必要もないです.

“`python
import numpy as np

# 配列を定義
size = 1 << 20 x = np.random.random(size) # sortを行う order = np.argsort(x) # 逆操作を得る (以下2行) order_inv = np.zeros_like(order) order_inv[order] = np.arange(size) # 検証 np.allclose(x, x[order][order_inv]) >>> True
“`

元記事を表示

Python3 模擬試験のミス問題を調べて理解を深める3

### 初めに
現在Pythonの試験勉強を始めて1か月ほど。
残り2週間ほどで試験を受けるつもりなので、模擬試験をこなしてミス問題を復習し、理解を深めていけるようにしたい。
※自分用なのですべての解説を網羅させるつもりではないです。
模擬試験の結果を赤裸々に載せていくので、どんな問題を間違えているのか気になる方は見てもらえればと思います(笑)

模擬試験は無料のPRIME STUDYというサイトで行っています。
模擬試験の結果がメールで届き、正誤を教えてくれるので理解ができていない部分に関してフォローできるので便利だと思いました。

https://study.prime-strategy.co.jp

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1744893/9433900e-f01d-b745-413b-569079c837fc.png)

前々回の第一回試験の結果(初見)

>受験日2022/9/1
第1回 Python 3 基礎 模擬試験 を受験いただきありがとうございまし

元記事を表示

numpyで第一要素でSortし,同一値の場合は第二要素でSortする方法

`np.lexsort` によってargsortができるようです.
ただし,一番最初にSortをするKeyが引数の最後に来ることに注意が必要です.

“`python
import numpy as np

a = np.array([
[2, 1, 2, 3, 1, 4, 3],
[4, 1, 3, 2, 3, 3, 5],
]).T

order = np.lexsort((a[:, 1], a[:, 0]))

>>> a[order]
array([[1, 1],
[1, 3],
[2, 3],
[2, 4],
[3, 2],
[3, 5],
[4, 3]])
“`

元記事を表示

CヘッダからPython向けバインディングを自動生成してDLLから関数を呼び出す方法

# この記事は?
C向けSDKが手元にあるけど柔軟にインタプリタ型言語のPythonでチクチク触りたい人向に刺さると思われる記事
いいねしていただけるとモチベが上がります。

## 時間がない人向け
ctypeslib2をインストールすると付属するclang2pyを使用すると簡単にできる
1. `pip install ctypeslib2`
2. `clang2py header.h -o out.py`
3. (Windowsのみ)生成されたコードを編集し、DLLとリンク

## 確認のためCソースから自作してPythonから呼んでみる
XとYの値を持つ`POINT`型を含んだヘッダファイルを作る。
C言語側のお仕事は`print_position()`で`POINT`の属性を出力すること。
DLL化するために`__declspec(dllexport)`を使用する。

“`c:point.h
#ifndef POINT_H
#define POINT_H

typedef struct Point {
int x;
int y;
} Point;

__dec

元記事を表示

OTHERカテゴリの最新記事