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

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

Pythonのrequestsライブラリが読み込んでいるrootCA証明書の場所を確認するワンライナー

# はじめに
プロキシ環境下などにおいて、独自のrootCA証明書を読み込ませずにPythonでrequestsを行うとSSL証明書エラーが発生する。

requestsが読み込んでいる証明書に独自のrootCA証明書を追記すれば解決できるのだが、毎回読み込んでいる証明書の場所と確認方法を忘れてしまうので、自分向けの備忘として残しておく。

## 環境
Python 3.11.2

# 読み込んでいる証明書のパスを確認するワンライナー
pythonコマンドにcオプションをつけると、囲った中でコード実行ができる。
“`shell
$ python -c “import requests; print(requests.certs.where())”

# /usr/local/lib/python3.11/site-packages/certifi/cacert.pem ※Linuxはこんな感じ
# C:\Users\<ユーザー名>\AppData\Local\Programs\Python\Python311\Lib\site-packages\certifi\cacert.pem

元記事を表示

ChatGPTと会話しながらWEB上でCSVファイルをインポートできるように実装してみたのでメモメモ

どうもこんにちは。

Pythonチャレンジ第3弾です。

第1弾、第2弾を見ていない方はこちらからご覧ください。

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

https://qiita.com/PDC-Kurashinak/private/41297d8bff6c938dd80e

今回は、WEB上からCSVファイルをインポートして、そのデータをWEB上に可視化するシステムを作ります。

# 実装方法

## 1. Flaskの拡張機能をインストール

ファイルのアップロードを簡単に扱うために、`Flask-WTF`という機能を使用します。
`requirements.txt`に以下を追加します。

“`makefile
Flask-WTF==0.15.1
“`

## 2. ファイルアップロードフォームの作成

`app.py`に以下のコードを追加します。

“`python
from flask_wtf import FlaskForm
from wtforms import FileFie

元記事を表示

ABC321 提出したコードや感想 (言語:Python)

# 記事構成
[1. Atcoder自己紹介](#1-Atcoder自己紹介)
[2. 各問題の感想と提出コード](#2-各問題の感想と提出コード)
[3. 今回の結果想](#3-今回の結果)
[4. 最後に](#4-最後に)

# 1. Atcoder自己紹介
– 茶色?コーダー
– 主な使用言語:Python,C++(C++は最近使ってません)
– 一時期休んでたけど最近再開
![abc321.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3564785/93cfb7d8-ea3c-206d-ba04-1fcfe0f3795b.png)

# 2. 各問題の感想と提出コード
## A問題
C問題へつながる問題.
文字列として一旦入力して,1桁ずつ調べていく方法で回答しました.
特にいうこと無し.
“`python:A問題
n = input()
num = len(n)
if num == 1:
print(‘Yes’)
exit()
for i in range(num-1):

元記事を表示

Djangoサーバー起動時にModuleNotFoundError: No module named ‘pkg_resources’が出た件

## 背景
バックエンドの環境が更新され、git pullし反映後、それまでは問題なく起動していたDjangoサーバーが起動しなくなった。
また、投稿者自身はもっぱらフロントエンド開発ばかりの為、pythonの知見はほぼない。

## 経緯
`git pull`を行い反映後、`poetry instal`を行う。
`python manage.py runserver`を実行したところ、エラーが発生。
もちろん、gitブランチを切り替えても解決せず、フロントエンド開発が出来なくなってしまった。

## エラー内容
細かいところは大人の事情で省略・・・
一番最後のエラーログ
“`
$ python manage.py runserver

… 省略 …
ModuleNotFoundError: No module named ‘pkg_resources’
“`

## 環境
– windows10
– Python 3.8.10
– poetry 1.1.12
– pip 21.3.1

## 調査した内容
– `poetry install`を行っても、相変わらず上記エラ

元記事を表示

JOINしてから条件絞り 条件絞りしてからJOIN

# はじめに
今回扱っていく内容はデータ分析をする上で大事な**前処理**の結合の部分について軽く触れていきたいと思います。またここでは私が学んだこと実践したことを書いていく記事なので間違いなどがある場合はご指摘の方よろしくお願い致します。

# 目次
[1.はじめに](#はじめに)
[2.動作環境](#2-動作環境)
[3.”JOINしてから条件絞り”と”条件絞りしてからJOIN” 処理の順番でどう違う?](#3-”JOINしてから条件絞り”と”条件絞りしてからJOIN” 処理の順番でどう違う?)
[4.まとめ](#4-まとめ)
[5.参考文献](#参考文献)

# 2. 動作環境
・ Mac OS 13.5
・ Jupyter lab(100本ノック)

# 3. ”JOINしてから条件絞り”と”条件絞りしてからJOIN” 処理の順番でどう違う?
私が前処理の勉強にお世話になっている「前処理大全」では”結合処理の前にデータを絞る方が良い”と記されています。では実際に処理時間などどう違っていくのか実践してみたいと思います。
“`python: 結合してから条件を絞る
# 結合処理の

元記事を表示

【Python】sympyの行列をlatex(matplotlib)で表示する

概要

sympyは代数の計算を行うことができる標準ライブラリです。
sympy.latex()関数を用いることで簡単に計算式のlatexコマンドを得ることができますが、行列のlatexコマンドをmatplotlibで表示したところエラーが発生したためその原因と解決策を書き残しておきます。

エラー

行列式を代入しlatex()でlatexコマンドへ変換した後、matplotlibでその数式を表示します。

“`python
from sympy import symbols, Matrix, latex
import matplotlib.pyplot as plt

#xを入力時のシンボルとして指定
x = symbols(‘x’)

#行列を定義
matrix = symbols(“a:z”, Integer=True)
matrix = Matrix()
m = Matrix([
[x**3 + 2, x – 2],
[2*x + 3, x**2 – x + 4]])

#mをlatexに変換
m = latex(m)

元記事を表示

MSTICpyの実践活用の一例の紹介 SANS APAC DFIR Summit 2023

# 伝えたいこと

2023年9月にSANS APAC DFIR Summit 2023にて
`「msticpyの実践活用: 高度な脅威ハンティングを実現すべくSIEMとの虹の懸け橋となる」`
と題して、Microsoftの脅威ハンティングツール msticpyの実践活用の方法の一例の紹介とmsticpyをAPACで布教させていただきました。
スライド資料の共有と、35分の発表時間に伝え切れなかったことをこちらで書きます。

# APAC DFIR Summitの発表スライド

持ち時間は35分で、Live Onlineの当日は700名ほどが参加されていたそうで、私は予定通り日本語で話し、同時通訳の方が英語に翻訳されました。Evaluationシートで コンテンツは5段階評価で平均4.31をいただき、プレゼンは平均4.21をいただくことができ一安心です。

日本語版の発表スライドはこちらです↓。

英語版「Practical msticpy use: ra

元記事を表示

bytes型を要素としたリストを、str型を要素としたリストにする(Python 3)

## はじめに

IPTCInfo3で画像ファイルの情報を取得すると、各要素の型はbytes型(文字列の文字コード)で返されます。
たとえば、キーワードを取得すると、「bytes型を要素としたリスト」を返してきます。

「2月,冬,雪,ダム,雪景色,青空,サンプル」であれば、`[b’2\xe6\x9c\x88′, b’\xe5\x86\xac’, b’\xe9\x9b\xaa’, b’\xe3\x83\x80\xe3\x83\xa0′, b’\xe9\x9b\xaa\xe6\x99\xaf\xe8\x89\xb2′, b’\xe9\x9d\x92\xe7\xa9\xba’, b’\xe3\x82\xb5\xe3\x83\xb3\xe3\x83\x97\xe3\x83\xab’]`が返されます。

これを`[‘2月’, ‘冬’, ‘雪’, ‘ダム’, ‘雪景色’, ‘青空’, ‘サンプル’]`としたいので、各要素をstr型にしたリストに変換する方法を確認しました。

## bytes型を要素としたリスト

IPTCInfo3が返してくるリストを想定しています。

“`python
#

元記事を表示

ChatGPT APIをお試しで使ってみる。

## 背景
入力したキーワードからクイズを生成してくれるWebアプリを作りたく、ChatGPT APIを利用するにあたり、準備作業を記事にしてみました。

## 準備

以下のサイトを参考に実施しました。

ChatGPT APIとは?始め方や使用時の注意点、活用事例を紹介

まずはOpenAIのサイトにアクセスしてログインします。
アカウントがない場合は、アカウントを作成します。
https://openai.com/product

ログイン後、以下のサイトからAPI Keysを発行します。
https://platform.openai.com/account/api-keys

こんな感じの画面
![](https://storage.googleapis.com/zenn-user-upload/be923b2f4ec0-20230720.png)

「Create new secret key」を押下して、適当なAPIKey名を入力、
「Create secret key」をクリックしたら、一度だけキーが表示されるので控えておきます

元記事を表示

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”)`のコードのみが?記述されてい

元記事を表示

OTHERカテゴリの最新記事