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

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

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.t

元記事を表示

[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編①

# はじめに

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

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

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

今回はまずは第一弾としてクラスベースのViewの流れを追っていきます。

Qiita初投稿で書き

元記事を表示

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ボタンを押してください。???
TkinterをMacbookに入れて動作確認

#1. インストール

“`bash:Terminal
% brew install tcl-tk

% echo ‘export PATH=”/usr/local/opt/tcl-tk/bin:$PATH”‘ >> ~/.bash_profile
% export LDFLAGS=”-L/usr/local/opt/tcl-tk/lib”
% export CPPFLAGS=”-I/usr/local/opt/tcl-tk/include”
% export PKG_CONFIG_PATH=”/usr/local/opt/tcl-tk/lib/pkgconfig”
% source ~/.bash_profile
“`

#2. 動作確認

・[@chibi929さんのQiita記事「tkinter で作った GUI の実行可能ファイルを作る」](https://qiita.com/chibi929/items/32dce1204c8c0dccccac)

“`bash:Terminal
% python -m tkinter
“`

##成功!
![スクリーンショット 20

元記事を表示

pyenvが有効にならない場合の対処法(zsh)

## 前提
– macOS 10.15.7(Catalina)
– zsh
– pyenvはインストール済み
– [ここ](https://qiita.com/muran001/items/7b104d33f5ea3f75353f)を参考に`.zshenv`に環境変数を記述

## pyenvが使用されていないことの発見

pyenvで3.8.6に指定されていることを確認。

“`zsh
% pyenv versions
system
* 3.8.6 (set by /Users/user/.pyenv/version)
“`

ところが実際pythonのバージョンを確認したところ、3.8.6になってない!!

“`zsh
% python3 -V
Python 3.9.0
% python -V
Python 2.7.16
“`

そもそもPATHを確認すると

“`zsh
% echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/user/.pyenv/bin
“`

最初に `/user/lo

元記事を表示

Djangoで動的にLINE Flex Messageを扱う際のベストプラクティス

どうもこんにちは!
初めてQiitaに投稿するので、軽く自己紹介を。
某情報連携学部に通う学生です。(某と言っても…)
好きなブラウザはFirefoxとEdge(Chromium)です。

さて、弊学部では一年生の後半に、全員が授業でDjangoを用いたチーム開発を行います。
私は昨年LINE botを作成したのですが、その際、DjangoでLINE Messaging APIのFlex Messageを動的に扱う上手いやり方が調べても出てこなかったので、個人的に考えたベストプラクティスを備忘録も兼ねてここに記します。
Flex Messageについては[こちら](https://developers.line.biz/ja/docs/messaging-api/using-flex-messages/#page-title)を参照。

# アプローチ
DjangoにはDjango Template Languageというテンプレート言語が用意されています。また、LINE Messaging APIのFlex MessageはJSON形式で記述します。
それらを用いて、Djangoサー

元記事を表示

言語を自作してみた(2)

# 自作言語のお時間です
最近寒すぎて凍死しそうです、、、、
## また作りました
はい、アップデートしました。主な変更点としては、

– エラー機能/エラーも自作しました。自作しないとあんま愛着がわかないんですよね。
– class/なんちゃってですけど遂にクラスを実装しました。オブジェクト思考、万歳!
– printしたときになぜか空白が出るのを何とかして無くしました。
– ファイル数が格段に少なくなりました。
– そのおかげで実行が軽くなりました!

そんなOmega-version0.1.0はこちらから(Github)
->https://github.com/pythonmaster1027/Omega-version0.1.0

# とりまコード

ファイル階層

“`
(任意のディレクトリ)
├ main.py
└ Omega.bat
“`

コードがめっちゃ少なくなりました。

“`python:main.py
import os
import sys

class Start:#startして欲しいので

def __init__(self):#初期

元記事を表示

Django template formで渡されるパラメータを項目ごとに手動で装飾したいメモ

Python 3.8.5
Django version 3.1.2

備忘録

“`
/formtest/formman$ tree
.
├── admin.py
├── apps.py
├── forms.py ★つくりました。
├── __init__.py
├── migrations
│   ├── 0001_initial.py
│   ├── 0002_auto_20201119_1155.py
│   └── __init__.py
├── models.py ★書きました
├── templates ★作りました
│   ├── base.html
│   └── formman
│   └── form.html
├── tests.py
└── views.py ★書きました

3 directories, 12 files
“`

Djangoのチュートリアルやリファレンスを読んでると
以下の用に記載するとDjangoのViewはTemplateにformの項目を表示してくれると書いてあります。

“`
{{ form.as

元記事を表示

DockerでPythonにてGDALを利用する

# 概要

geotiffを利用する際に、少しハマったので、備忘録。

結論から言うと、Pyhonにおける「GDAL」ライブラリと「libgdal-dev」のバージョン対応が間違っていたことが原因でした。
**apt標準リポジトリにおいて管理される安定版「libgdal-dev」はv2.4.0です(2020年11月19日現在)。これにより、pipにて単純に「pip install GDAL」とするとv3.2.0がダウンロードされますが、v3.2.0に対応する「libgdal-dev」はv3.2.0以上必要です**。そのため、インストールする際は「**pip install GDAL==2.4.4**」とし、バージョン指定する必要があります。
この辺りを踏まえたdockerfileなどを以下に記載します。

# 前提条件

ここでは、以下のことを考えています。

– dockerを利用し、環境を使いまわせるようにする。
– あまりanacondaは好きじゃない
– Pythonを利用するのは、学習コストが低いため
– docker-composeはあくまで動作テスト用に記載
– コード

元記事を表示

OTHERカテゴリの最新記事