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

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

Autokey フレーズとタスクのツール

+ Linux Mint21.1
+ Python3

すべてが書かれいます。 [Welcome to AutoKey! — AutoKey Main 0.96.0 documentation](https://autokey.github.io/)

## AutoKeyについて

+ Wikipedia 翻訳
“`
AutoKey を使用すると、ユーザーはホットキーとトリガー フレーズを定義して、
事前定義されたテキストに展開することができ、タイプミスや一般的なスペルミスの修正やテキストの定型セクションの挿入など、頻繁または反復的なタスクを自動化できます。
“`

## AutoKeyの2つの機能を持ちます。
:::note alert
変更したとき、Saveを忘れないこと。
:::

### テキスト置換

テキストエディタなどでユーザが、あらかじめ決めてある単語を入力します。
エンターキーを押下した時、登録していたテキスト文に置換してくれます。
![Auto01.png](https://qiita-image-store.s3.ap-northeast-1.am

元記事を表示

Djangoでテーブルを作成

# Djangoでワンパン!テーブルを作成する方法
今回も初心者の人、または僕自身のアウトプットのための記事です。
dbはデフォルトのsqlite3です。
三択のクイズアプリを作成する際のテーブルを考えます。

必要なテーブルは
・テーマ
・問題文
・選択肢

です。

## models
“`
from django.db import models

# Create your models here.
class Theme(models.Model):
theme_name = models.CharField(max_length=999)

def __str__(self):
return self.text

class Question(models.Model):
theme = models.CharField(max_length=100)
question_text = models.CharField(max_length=999)

def __str__(self):
return

元記事を表示

djangoでadminサイトへのリンクを動的に生成する方法

# まとめ
html 内で以下のようにリンクを作成すれば行ける.

“`django

管理サイト

“`
### メモ
django でサイトを作成しているとき管理サイトへ移動したいとき予めボタンを作成しておいて簡単に移動できるようにしたかった.
djangoでは/adminで管理サイトに移行されているがセキュリティの都合上urlをadmin以外に変更したほうが良い.
そのためなんのurlに変えたか分からなくなるため動的生成して簡単に移動できるようにしたかった
djangoは国内の利用者が少ないようで日本語で検索しても見当たらなかったためメモ代わりにまとめた

# 参考サイト
https://stackoverflow.com/questions/694477/getting-django-admin-url-for-an-object

元記事を表示

python activateしても仮想環境にはいれない

# activateしても入れない
コマンドプロンプトに仮想環境名(.venv)がでているにもかかわらず、pip freezeをすると相変わらず仮想環境に入れていない環境である。このような場合の対処方法。

#解決方法
仮想環境名が.venvの場合、.venv\Scripts\activate.batをメモ帳で開いて、
“`
set VIRTUAL_ENV=(仮想環境のパス)
“`
の記述を見て、仮想環境.venvの親フォルダの名前を上のパスのフォルダ名と一致させることで上記の問題を解決できる。仮想環境を構築したときのフォルダ名からフォルダ名を変更してしまうと仮想環境にうまく入れなくなるっぽい。フォルダ名が一緒で、他のフォルダに持っていったときは正しく動いた何はともあれ、仮想環境を構築したときからフォルダ構造は変えない方が安全っぽい。仮想環境というからにはポータブルな感じがしてたのになぁ…。

元記事を表示

Djangoのstaticファイル

# static
Djangoで静的ファイル(js css image)等を使用する際に使います。
サーバーで動的な動きをしないファイルですね。

Djangoでは以下のようなディレクトリ構造なのでtest_web内にstaticディレクトリを打ち込みます。
“`
.test
├── db.sqlite3
├── manage.py
├── test_app
│ ├── __init__.py
│ ├── ////省略////
└── test_web
├── __init__.py
├── templates
├── models.py
├── urls.py
├── views.py
└── test_web <---ココ ├── js ├── css └── images ``` ## setting セッティングファイルに以下のコードを書いておけば問題ないです。 ``` STATIC_URL = 'static/' ``` ## staticファイルの読み込み 面倒と

元記事を表示

Django初期設定のコマンドをメモ

追記予定あり…
# Django初期設定

1 Djangoプロジェクトを作成します。

“`jsx
django-admin startproject quiz_project
cd quiz_project
“`

2 Djangoアプリを作成します。

“`jsx
python3 manage.py startapp quiz_app
“`

3 プロジェクトの`settings.py`でアプリを登録します。

“`jsx
INSTALLED_APPS = [

‘quiz_app’,

]
“`

元記事を表示

VSCodeのDevcontainerでpython環境構築

VSCodeのDevcontainerアップデートで記載方法が変わっていたので備忘録として、簡単な環境構築をまとめてみました。

# 環境
・Visual Studio Code
・Docker Desktop

VSCodeの拡張機能として以下をインストール
・Dev Containers

# サンプル構成

“`
sample/
┣ .devcontainer
┃ ┗ devcontainer.json

┗ sample.py
“`

“`:devcontainer.json
{
// 接続するコンテナの名前
“name”: “Python 3.11 Dev”,

// 利用するコンテナイメージ
“image”: “python:3.11-slim”,

// コンテナ起動時のホストとの疎通ポート
“forwardPorts”: [
5000
],

// コンテナビルド時に実行したいコマンド
“postCreateCommand”: “apt-get updat

元記事を表示

streamlit helloを実行しようとすると、zsh: command not found: streamlitとでてしまう件

会社でpythonを使った開発を始めようということで、streamlitを勉強しようと思い、streamlitを起動しようとstreamlit helloしたら、
“`
zsh: command not found: streamlit
“`
の文字が、、。
パスが通ってないのか。。
調べてみると
pip install streamlit実行時にどこにインストールされたのかが、吐き出されるwarningに出力されているとのこと。
“`
WARNING: The script pygmentize is installed in ‘/Users/ユーザー名/Library/Python/3.8/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use –no-warn-script-location.
WARNING: The scripts f2py, f2py3 and f2py3.8 are inst

元記事を表示

【2023年版】PythonでMultiSetを使う

Atcoderの2023年8月の言語アップデートに伴い、Pythonで`sortedcontainers`ライブラリが使えるようになりました。平衡二分木を使ったMultiSetはPythonにないので、今後は`sortedcontainers`の`SortedList`が使えそうです。

## SortedListのメソッド一覧と計算量
[Grant Jenksの公式ドキュメント](https://grantjenks.com/docs/sortedcontainers/sortedlist.html)を参照しました。

| メソッド | 説明 | 計算量 |
|————————|——————————————————————————-

元記事を表示

ChatGPTと会話しながらPythonでデータを可視化するアプリケーションを作成してみたのでメモメモ

どうもこんにちは。

Pythonチャレンジ第2弾です。第1弾で環境構築をしていますので、先にそちらを参照してみてください。

↓第1弾はこちら↓

https://qiita.com/PDC-Kurashinak/private/355fcd920aa6803e59f3

第1弾でPython実行環境構築したから何か簡単なアプリ作ってみようと思って作ってみました。

今回は、「CSVデータをグラフで可視化するアプリケーションを作ってみた」って感じです。

# 概要

要件としては以下のような感じです。

1. CSVデータを分析したい
1. 分析結果を可視化したい

上記要件をPythonで実現してみました。

# 構築方法

## 1. 必要なライブラリを追加

以下のコードを`requirements.txt`に記述します。(ライブラリについては最後に説明をしておくこととします。)

“`makefile
Flask==2.0.1
pandas==1.3.3
matplotlib==3.4.3
“`

## 2. Flaskアプリケーションの作成

python_testディ

元記事を表示

ChatGPTと会話しながら簡単なPython実行環境を構築したのでメモメモ

どうもこんにちは。
たまたま一日暇だったので、勉強がてらPythonの実行環境をdockerを使用して構築してみました。

なんの筋道も立てずに「環境構築してみよー」と思って始めてみたのですが、やはり**ChatGPT**さんにお世話になりました。

# 下準備

下準備として、python環境を構築するためのディレクトリを作成しておきます。
プラスでsample.pyファイルに`print(“hello world”)`を記述して保存しておくと良いです。

# AIとの会話の内容

まず、以下のように雑に教えを乞いました。

“`
Macbookのローカル環境でDockerを使用してPythonの開発環境を構築したい。

自分のPCには、/Users/test_user/code/python_testディレクトリを作成した。
python_testディレクトリを作業用ディレクトリとして開発環境構築をする手順を教えて。

python_testディレクトリには、sample.pyというファイルが配置されていて、`print(“hello world”)`のコードのみが?記述されてい

元記事を表示

仮想「データサイエンティスト採用試験」作って採点してみる

# はじめに

仮想です。
今の所弊社ではこの「業務未経験可のデータサイエンティスト求人」及び「それ用の試験」は実施しておりません、ご了承ください。
そのうちするかもしれないけども。

### 動機
– 異業種からの転職組・実務経験なし組用にスキルチェック課題を作りたい
– 試しに作ってみると採用云々関係なく、基礎の理解に役立ちそうな練習問題になりそうなので公開しておきます
– よさそうなら本当に試験として使いたいなぁ

### 試験目的
– 設定された実務っぽい課題に対して、適切に「仮説の設定・方針の設計・分析・検証・考察」の流れが組めるかを確認する
– 明確な答えがある問題ではありません
– 精度やモデルの高度さは度外視
– うまく精度出ていなくてもいい
– もっと言うとプログラム組めてなくても流れが説明できていれば減点はない

・・・という旨を課題を提示したときに先に説明する想定

↓↓↓作ってみた試験 ここから↓↓↓

# 仮想試験問題

## 問題設定

データサイエンティストであるあなたに、以下のような相談が持ち掛けられました。
相談者はWebコンテンツ作

元記事を表示

Djangoでカバレッジの取得と, Codecovでカバレッジ確認をできるようしてバッジを付ける

# django でカバレッジを確認する方法

coverage.py を使用することで確認できる.
とりあえずインストール

“`bash
pip install coverage
“`

djangoでテストを書いている前提で進める.
テストの書き方は下記を参考にすると良い

https://zenn.dev/tmasuyama1114/articles/django-how-to-unit-test

通常は以下のように実行してテストを行うと思う
“`bash
python3 manage.py test
“`

カバレッジを取得するときは,
“`bash
coverage run –source=’.’ manage.py test
“`

これでカレントディレクトリ以下のファイルはすべて対象にしてカバレッジを取得する.
カバレッジを確認するには,

“`bash
coverage report
“`

で確認可能
ここでCodecov の連携は以下のサイトから GitHub と連携しておく必要がある.

https://github.com/apps/cod

元記事を表示

Spinning Wheelの為の意思決定エンジン choice.py

Spinning Wheelのための意思決定エンジンです。

マルチプルチョイスの選択をコンピュータがします。
/dev/randomを使っているので、環境ノイズからの真性乱数で意思を決定します。
剰余演算を使っているので、本当の真性乱数ではないです。

`chmod +x choice.py`をして、
`./choice.py `として実行してください。

nは選択肢の数で、自然数を指定してください。コンピュータが何番目の選択肢を選べばいいか決めます。

“`choice.py
#!/usr/bin/python3
import os
import binascii
import sys

def rand():
f=open(“/dev/random”,’rb’) # /dev/randomを開く
random32bitdata=f.read(4) # 4バイト読み出し
f.close() # /dev/randomを閉じる
randomhex=binascii.hexlify(random32bitdata) #16進の文字列に変換

元記事を表示

「オリジナルのジェットコースター」の画像をSketch to imageでAI生成してみた

[Supership](https://supership.jp/)の名畑です。[今剣](https://twitter.com/trampshunya/status/1347903977552113665)への想いをありったけ込めて[すえひろがり](https://musical-toukenranbu.jp/pages/suehirogari_ranbuyagaimatsuri)の完走を応援しています。

## はじめに

前回「[「食パンをくわえて走る女子高生」のイラストをSketch to imageでAI生成してみた](https://qiita.com/nabata/items/034766f85499423c9e00)」という記事を書きました。[Stable Diffusion](https://ja.stability.ai/stable-diffusion)の提供元[stability.ai](https://stability.ai/)による画像編集ツール[ClipDrop](https://clipdrop.co/)が提供する**Sketch to image**

元記事を表示

chatGPTを使用して, Youtubeの字幕を要約する (3)

# 更新履歴
2023/09/19 : GitHub Actions の設定ファイルを追加

# 振り返り
前回chatGPTを使って字幕要約ツールを作り, REST APIを作って見たいという形で終わっていた.
2023年5月に公開して, 2023年8月頃に着手した形になる.

https://qiita.com/nagato0614/items/ab163d32ff08086e9be7

# はじめに
APIではないがDjangoを使用してYouTube要約Web appを作成して公開するところまでできた.
大体1ヶ月ほどでURLを渡して要約を表示するところまでできたので,
どのようにして実装して, どこで詰まったのかなどをまとめる.
開発の際には, chatGPT, GitHub Copilotなどをフル活用して開発を行った.

https://www.nagato-app.com/

# 開発環境

– OS : Windows 10
– IDE, エディタ : PyCharm
– バージョン管理 : GitHub
– CIツール : GitHub Actions
– Web

元記事を表示

【Python】変数名と値を同時に表示する小技

# 先に結論
置換フィールド`{}`内に記述した変数の後に`=`をつけるだけです
“`python
hoge = “Hello, Python!”
print(f”{hoge=}”)
“`
↓ 出力結果
“`
hoge=’Hello, Python!’
“`

# 少し解説
pythonにはフォーマットメソッドというものがあり、この記述はフォーマットメソッドの機能の1つです。
下記のように記述することで`{}`内に任意の値を入れることができます。
“`python
hoge = “Python”
print(“Hello, {}!”.format(hoge))
“`
↓ 出力結果
“`
Hello, Python!
“`

クォーテーションの前に`f`もしくは`F`をつけることで`{}`内に変数をそのまま入れることができます。
ここに`=`を追加することで最初に紹介したように、変数名と値を同時に表示することができます!
“`python
hoge = “Python”
print(f”Hello, {hoge}!”)
“`

# まとめ
変数

元記事を表示

C言語でpythonのモジュールを作る第一歩

Cでpythonのモジュールを作る。第一歩。
frというテストモジュールを作ります。

### 環境

arch linux
python 3.11
gcc 13.2.1 20230801
GNU Make 4.4.1

### モジュール構成

“`
fr.Open Trueを返す。
fr.Close   Trueを返す
fr.fr 0.5を返す。
“`

### モジュールを置く、ユーザーのlibraryディレクトリ

$HOME/lib/

ないなら、

“`
mkdir -p $HOME/lib/
“`

として、作っておきます。

### モジュール本体ソース

“`fr.c
#include
#include
#include

//
// Open()
//
static PyObject* Open(PyObject *self,PyObject *args) {
Py_RETURN_TRUE;
}

//
// Close()
//
static PyObj

元記事を表示

Django import-export 文字コード charsetを変更する方法

Django用のパッケージimport-exportは便利なものである。
xlsxやcsvのフォーマットで入出力が簡単にできる。

ただしDBにUTF-8に対応していない文字列、例えばゼロ幅スペース(\u200b)などが紛れ込んでしまった場合は
ServerError500(‘cp932’ codec can’t encode character)が発生してしまう。

Varidationを強化して対象文字列をはじく方法もあるが、今回はimport-exportを直接を修正して対応できるようにする。

## 環境
 Server側:AWS + ubuntu + NGINX + gunicorn + Django
 アクセス側:Windows PC

## 手順
まずはimport-exportが保存されているsite-packagesの場所を確認する。
わからない場合は[こちら](https://qiita.com/startours777/items/552b6ae5a3ed2915406a)の記事の対処方法2を参考に。

次にExportできるようにする。
\site-packag

元記事を表示

基本情報対策:小学生にもわかる?Classを使った単方向リストの作成。

単方向リストは以前結構学んで、大分自信がついてきたので色々といてみたのですが、

サンプル問題のこちらの問題の動きがいまいちわからず、動きをしっかり追ってみました。

python での記述です。

## 問題:問題なので、こちらのコードは実行できません。

太文字が問題です。

“`python
class ListElement:
def __init__(self, val):
self.val = val
self.next = None

# 大域変数の初期化
ListHead = None
curr = None
#current現在地
prev = None
#previosひとつ前

def append(qval):
global ListHead # 大域変数を参照するためのキーワード

curr = List(qval) # 新しいリストの要素を作成

if **<問題A:ListHeadが未定義 or 未定義でない>** :
ListHead = curr
els

元記事を表示

OTHERカテゴリの最新記事