Python3関連のことを調べてみた2020年11月24日

Python3関連のことを調べてみた2020年11月24日
目次

Pythonで「SSL: CERTIFICATE_VERIFY_FAILED _ssl.c:1056」が出た時の対処法

## 自分の環境について
エラーを吐いた環境の概要を記す。
– macbookAir(とりあえず,macであるということが重要)
– Homebrewでpython3.7を入れた(ここが一番大事)

## エラーの解決方法について
自分の場合は,sklearnでデータセットをインポートするときに出て詰まってしまった。
ネットで調べたときに出てくる解決法では。

“`python:python3の実行コード

>>>import certifi
>>>certifi.where()
‘/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/certifi/cacert.pem’
“`

と,出てくる。
こいつをSSL認証のための鍵(?)にしてやればよい。

“`shell:terminalでの実行コード

$ touch /Library/Frameworks/Python.framework/Versions/3.7/etc/openssl/cert.pem #ファイルがなけれ

元記事を表示

【Selenium】WSLからホストOS上のドライバを叩いてブラウザを表示したい

# はじめに
WSLはWindowsを使っていながらにしてLinuxのコマンドを使えるという点で非常に便利なのですが、ことSeleniumに関して言えば、UbuntuのGUIを利用できないためブラウザの挙動が確認しづらいという難点があります。

仮想ディスプレイを立ち上げてスクリーンショットを取ればその時点での画面表示を確認することはできます[^1]が、やはり実際に動いている様子を見るに如くは無しといったところではないでしょうか。

色々試行錯誤した結果、Selenium Gridを使用することでWSL2からホストOS上のドライバを叩いてブラウザを表示することに成功したので共有させていただきます。

# 環境
ホストOS: Windows 10 Home 20H2
WSL: Ubuntu 18.04.5 on WSL2
Python: 3.7.5

# 先行研究
[WSL (Ubuntu16.04.4 LTS) 上の Python から、Selenium を利用して Windows側のウェブブラウザを操作する – ラボラジアン](https://laboradian.com/opera

元記事を表示

assertとEnum(or)デコレータを使うと、型アノテーション制約の遵守チェックをmypyの手を借りずに行える

##0. はじめに
Python3系の型チェックについては、typingとmypyが知られています。

___
・[@mski_iksmさんのQiita記事「typehintとmypyを使ったpythonの型チェック」](https://qiita.com/mski_iksm/items/85651837bd70427754d6)
・[@papi_tokeiさんのQiita記事「実践!!Python型入門(Type Hints)」](https://qiita.com/papi_tokei/items/2a309d313bc6fc5661c3)
・[SWEet 「Pythonで型検査しようぜ」](https://kk-river108.hatenablog.com/entry/2019/03/10/163457)
・[mizzsugar’s blog 「PythonとTypeScriptで学ぶGenerics初めの一歩」](https://mizzsugar.hatenablog.com/entry/2020/02/07/002250)
___

__この*mypy*は、Pythonの

元記事を表示

【Python】ゼロから始めるDjangoソースコードリーディング View編②

# 前回のお話

[View編① 基本](https://qiita.com/tsuperis/items/0966721d6ee700770e40) 

初投稿記事でしたが、思ったより閲覧数が伸びていました!
LGTMもいただけてとても励みになります。ありがとうございます。

前回はViewクラスがどやってHTTPリクエストメソッドとインスタンスメソッドを対応付けているか確認しました
環境や前提知識もこちらに書いてあるので、初見の方はさらっと読んでみてください

# 今回のお話

FormViewを読んでみます
SPAなWebサービスでなければ利用頻度が高いので、このあたりを理解するとカスタマイズの幅が広がるかもしれません

# 環境

前回と同じです。

Djangoのソースコードは`$ python -c “import django; print(django.__path__)”`でインストール場所を確認するか、[公式リポジトリ](https://github.com/django/django)から引っ張ってきましょう。

“`shell
$ python –versi

元記事を表示

pythonの基本的な「文字列操作」の文法で暗記したいこと

###(自分メモ)pythonの基本的な文法で暗記したいこと
##はじめに
自分がpthonの基本を忘れないように、自分向けに書く。
※このページを見て頂いた方すみません。完全な初心者向けではありません。
 また、よく知っている人向けに、特別なことは書いていません。


##コメントアウト
すべての言語で、最初に覚えなければならないのは「コメントアウト」ですね。

“`rb:python1.py
#コメントアウト
“`
他の記載方法もあるようですが、#だけ覚えれば十分


##スライス(基本)
スラスト(変数の後ろの**[]**)はpython独自(?)の使い方である。結構使える。
またpython初心者には、配列にしか見えないので解読を難解にする。
これより先に関数を覚えても、スライスでつまずく。

“`rb:python2.py
num=”0123456789″

#左から「1番目」を取得 ※左から見たとき、一番左は「0番」
a1=num[1]
# ‘1’

#「右」から「1番目」を取得 ※右から見たとき、一番右は「-1番」 <ここまでなんとかわかる
a2=num

元記事を表示

AtCoder で Python の networkx を使ってみる

# AtCoderで利用可能なnetworkx
AtCoderの言語アップデートでPythonは3.8系になりましたが、なんとnetworkxが使えるんですね。
処理時間を考えると使うケースは限られると思いますが、試してみたのでご紹介します。

AtCoderのコードテストで下記を入れると、各ライブラリのバージョンを確認できます。
networkxは2.4が入っています。

“` python
import sys
print(“python”, sys.version)
import numpy as np
print(“numpy”, np.__version__)
import scipy as sp
print(“scipy”, sp.__version__)
import networkx as nx
print(“networkx”, nx.__version__)
import sklearn
print(“sklearn”, sklearn.__version__)
“`

“`
python 3.8.2 (default, Feb 26 2020, 02:56:

元記事を表示

Python3で仮想環境の構築

## はじめに
 pythonの軽量モジュールである’venv’を使用した環境構築を説明します。
仮想環境を用いた開発をすることにより、プロジェクトで使用しているライブラリ・パッケージが明確化されます。
ローカルで開発をするとローカル環境に余計なライブラリや以前使ったライブラリが残っていたりして、他のマシンにデプロイした際にうまく動かないケースがあるので、仮想マシンなどを使用してプロジェクトを作成し、その中で開発をすると使用するライブラリやパッケージがはっきりし、他のマシン、チーム開発での際に共有もしやすくなる。

## 環境
* python3系

## 仮想環境の作成
※ python3系がインストールしていることを前提とします。

* macの場合

~~~:python
# 仮想環境作成
$ python3 -m venv name # nema: 環境名
# 仮想環境の有効化
$ source venv/bin/activate

# 仮想環境の無効化
$ deactivate
~~~

* windowsの場合

~~~:python
# 仮想環境作成
$ python –

元記事を表示

pythonでのdatetimeモジュールを使った時間の演算

Pythonでdatetimeモジュールを使った時間の計算をする時に少し時間がかかったのでそれについての備忘録です。
# 背景
10:00~19:00の差をdatetime.time型生成する必要があったので終了時間-開始時間みたいなことをしたかった。
# 結論
datetime.time型は四則演算がサポートされてないので、一度秒数に戻して計算しないといけない。
>time.resolution
等しくない time オブジェクト間の最小の差で、 timedelta(microseconds=1) ですが, time オブジェクト間の四則演算はサポートされていないので注意してください。
https://docs.python.org/ja/3/library/datetime.html#time-objects

# 解説
まず引き算したい時間を作成します。00:00:00~12:30:30で計算をしてみます。

“`
>>> import datetime
>>> start_hour = datetime.time(0,0,0)
>>> end_hour = datetime

元記事を表示

[Python] Google My Business API を使ってインサイトデータを取得する

##はじめに
Google My Business APIを使ってインサイトデータを取得するための日本語の情報があまり見つからなかったため、備忘録として残しておきます。

##参考
https://developers.google.com/my-business/content/prereqs
[Google API OAuth2.0のアクセストークン&リフレッシュトークン取得手順 2017年2月版](https://qiita.com/iwaseasahi/items/2363dc1d246bc06baeae)

##環境
Python(3.6.2)

##Google My Business とは
Google My Business とはGoogleが提供しているGoogleマップやGoogle検索上で、登録したビジネス情報を表示されるようにする無料サービスです。
このサービスに自分のビジネス(飲食店や美容室、歯医者など)を登録する事で検索時やマップ閲覧時にそのビジネスをユーザーの目に入りやすくすることができます。

##Google My Business APIとは
Goo

元記事を表示

Blender 2.9 Python 押し出し extrude

今日の課題は押し出し機能です。 “extrude blender 2.8 python”などで検索してみても、英語日本語とも、blender 2.8 (2.9)でのextrude を使ったコードが今は少ないような印象です。数少ない資料がsuzulang資料「Blender 2.8 pythonで矢印を作る」。これをじっくり読解。「Blender 2.8 pythonで矢印を作る」の中の step 1 oshidashi部分まで流し読み extrude_region_move(TRANSFORM_OT_translate={“value”:[1.0 , 0.0 , 3.0]} )のように数字入れたらなんとかなる、と解釈して、そこから試行錯誤してなんとか、
Cubeの一面を押し出し繰り返すことに成功しました。
![bpy_extrude1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/690216/cded4a53-12c8-fde5-0b25-698b2ff26a22.png)

“`python3

元記事を表示

ワードクラウド 日本語 Python JupyterLab でやってみる。

“`

#ワードクラウド 日本語 Python JupyterLab でやってみる。

#参考にさせて頂いた主なHP 
# https://github.com/amueller/word_cloud/blob/master/examples/masked.py
# https://note.nkmk.me/python-janome-tutorial/
# https://quest.signate.jp/quests/10031 「データ前処理道場」

from os import path
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import os
from wordcloud import WordCloud, STOPWORDS

#置き換えを使うため、「re」をインストール
import re

# get data directory (using getcwd() is needed to support running example in generate

元記事を表示

【Python】ゼロから始めるDjangoソースコードリーディング View編①

[View編② FormView](https://qiita.com/tsuperis/items/1aa7cd82d76e4ae9f9c3)

# はじめに

効率的にプログラミングを学習する方法のひとつとして「ソースコードを読む」というものがあります。
かの有名な[ハッカーになろう](https://cruel.org/freeware/hacker.html)(原題:How To Become A Hacker)にもこう書かれています。

> しかし、本や講習会のコースでダメだとは言っておきましょう。多くの、いやひょっとしてほとんどのハッカーたちは我流で勉強してきたのです。役に立つのは、(a) コードを読むこと、そして (b) コードを書くことです。

しかし、「コードを書く」ことはよくあっても、「コードを読む」ことはあまりできていない人が多いと感じています。(難易度的にも「読む」ほうが難しいことが多いし…)
本記事ではPythonのメジャーなWebフレームワークであるDjangoを読んで、ソースコードを読む雰囲気をお伝えするものです。
これをきっかけにオープンソースのコードを

元記事を表示

Jupyter NotebookでGraphvizを使う

#初めに
本記事ではGraphvizを使ったことがない筆者が**jupyter-notebook**で**Graphviz**を使うという内容になっています。ちなみにネットにはGraphvizの使い方など色々載っています。例えば

* [GraphVizのエラー対処(GraphViz’s executables not found)](https://niwakomablog.com/graphviz-error-handling/)
* [Graphviz をインストールする](http://ruby.kyoto-wu.ac.jp/info-com/Softwares/Graphviz/)

とかです。上記の2つの記事のどちらで設定しても使えるようになります。サイトを見てみてこれでいいかなと感じたらそれでもぜんぜん大丈夫です。今回は2つの記事を少しミックスして環境を作っていこうと思います。

#Graphvizとは
初めにGraphvizについて軽く説明していきます。以下のサイトを要約した形になっていると思います。

* [テキストデータをグラフ画像に変換するツール「Graphviz

元記事を表示

Pythonの基礎を学ぶ①初歩の初歩

#はじめに
独学でプログラミングを始めました。
30歳から未経験でエンジニアへ。
人工知能に興味があるので、少しずつ学んでいきたい。

#学習手順と環境
・Aidemyなどの学習ツール、インフルエンサーを参考にして学ぶ。
・iMacが良いらしいが、予算の都合でWindows10のデスクトップパソコンでプログラミングする。

#やったこと
##(1)Aidemyでプログラミングの勉強
 ・pythonの用途
 ・pythonで文字出力

##(2)pythonの環境構築
 ・Windows10にpythonの環境を構築する
  Microsoft storeより「python3.8」をインストール
2020-11-21 (2).png
  Aidemyで勉強した「print関数」を試してみた
Pythonでパスワードツールを作成してみました。

#はじめに
pythonを勉強し始めて、約1ヶ月が経った筆者が初めて作成した
パスワードツールが完成したので記事にしました。
まだまだ、改善の余地はたくさんありますのでより良いものにしていきます!

#利用環境
・windows 10
・VS code 1.51.1

#目的
テキストファイルにパスワードを三種類ランダムで生成する。

#コード
長文のため、閲覧注意願います。

コード

“`python:password.py
import random , string

password = [random.choice(string.hexdigits) for i in range(10)]
password1 = [random.choice(string.hexdigits) for i in range(10)]
password2 = [random.choice(string.hexdigits) for i in range(10)]

passwordlist = ”.join(password

元記事を表示

Pythonの再環境構築からグラフ描画まで(on visual studio code)

機械学習を勉強したく、
すきま時間をみつけて散発的にanacondaやらvscodeやら試行錯誤していれて動かしていたせいで
実行環境が混乱しだしてきました。。。
ゼロベースから、再構築をしたので、その手順をまとめます。

本記事は、この2部構成になっており、

* ステップ①:pythonが稼働できる環境作成
* ステップ②:グラフ描画の為の環境構築

具体的には下記内容をやります。

* python   -インストール
* numpy    -数字計算ライブラリのインポート
* matplotlib  -グラフ描画ライブラリのインポート
* 上記を組み合わせて、VScode上でグラフを書いてみる

## ステップ①:pythonが稼働できる環境作成

### 前提

* windows10 home edition
* vscodeで構築(anacondaは使いません)

### Windows上でやること

下記からpythonをインストールしておく
https://www.python.org/downloads/windows/

Stable Releases(安定版)か

元記事を表示

[メモ]Jupyter Notebook上で仮想環境を動かす[ImportError: win32apiというモジュールはありません]

## 前書き
PyGameで色々やりたいなと思い立ったのが昨日のこと。今日はとりあえず仮想環境を作ってJupyterNotebook上でアレコレ試せるようにしたいなと思って作成作業をしていましたが、少しはまってしまいました。

ここではその症状と対処法をメモ書き程度に残しておきます。同じ症状が起きている方はあまり居ないようですが、参考になれば幸いです。

### 環境
Windows 10
Python 3.8
conda 4.9.0

### 前提
[Jupyterで複数カーネルを簡単に選択するための設定](https://qiita.com/tomochiii/items/8b937f15c79a0c3eae0e)で紹介されている内容は終わっているものとします。

### 症状と対処法
カーネルの設定も終わったぞ、と思って早速仮想環境に入り、そこからJupyterNotebookを起動すると、何やらkernel errorが。

メッセージを読んでみると、”win32apiがimport出来ないんだけど”という旨のお話。

いくつか記事をあたって見ると、以下のようなサイトが。
[

元記事を表示

データサイエンス100本ノックに挑戦

#Python100本ノックに挑戦するまで
データサイエンス100本ノック(構造化データ加工編)というのがあります。
挑戦するまでの手順をメモしたいと思います。
###環境
* windows10 Home
* Core i7
* メモリ8GB

##1. 問題をダウンロード

今回は以下の画面の「Code」からzipファイルをインストールしました。
https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/186902/f7464f6d-8b44-fb9f-bc7f-6f49e0ccb0be.png)

##2.Dockerのインストール
~~以下のDownload from Docker Hubをクリックして、exeファイルを実行。~~←windows Proはこれでok
![image.png](https://qiita-image-store.s

元記事を表示

プロキシ環境下でpip3を使う方法メモ

いわゆるプロキシ環境下でpip3を使う方法メモです
以下のように、proxyサーバのIPアドレスやポートを指定すればOK

“`
pip3 –proxy=http://xxx.xxx.xxx:port install ~
“`

# 参考
[【備忘録】pipでプロキシを突破できなくて詰まった話](https://qiita.com/samunohito/items/40a03e1464899225e698)
[プロキシ環境で pip install する方法
](https://qiita.com/arai-wa/items/49dbff70c4f22ad51521)

元記事を表示

【実践編/解説動画?あり】集計からダッシュボードの作成まで一本化!PythonとDashによるデータ可視化アプリ開発

本記事は、2020年10月23日に作成されました。

#はじめに
マーケティングリサーチプラットフォームを提供している株式会社マーケティングアプリケーションズの今井です。

弊社では、Dashに関した内容を、基礎編、Tips編、実践編の3つに分けてQiitaで投稿していきます。

**実践編(本記事)**
本麒麟のヒット分析を行うにあたり、Dashを用いてどのようにダッシュボードを作成したか、Tips編の内容を組み合わせた実践的な手法を紹介します。
サンプルを動かしている動画はこちらです。
![dash_practice_python_movie.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790578/9d4173b5-2be5-cc2f-bef6-6b96db9bea53.gif)

読んで良かった、参考になったという方は、ぜひLGTMボタンを押してください。???

  • OTHERカテゴリの最新記事