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

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

Django 開発者への道② ~ URLを設計する ~

さて、Djangoの技術記事連載企画「Django 開発者への道」
第二弾がやってきました!

**前回の記事**
[Django 開発者への道① ~ Modelsを理解する ~]
(https://qiita.com/kotayanagi/items/3cfadae951c407ac044a)

## はじめに

前回記事の第一弾では、
DjangoのModelsとDBの設計方法について学習しました。

今回の第二弾では、
URLの設計とルーティングの実装方法について学習していきます。

まずは、フォルダ構成を再確認しながら、
Djangoのプロジェクトに存在する2つの `urls.py` ファイルを見ていきます。

2つ同じ名前のファイルが存在する意味を、
しっかり理解した上で、
**ルーティングの実装方法**や、、
**ベストプラクティス**などをみていきます。

最終的に、ルーティングを設計し、
**動的にルーティングを設計できる**ようになるのがゴールです!

## ルーティングって何ですか?

まず、ルーティングとは何でしょうか?

ルーティングとは、

**送られてき

元記事を表示

Dockerで数分でOpenCV&Python環境を構築して試す

#コード

下記のコマンドを指定して完了。
`/mygit/appdir/`は実行したいpythonファイルが有るフォルダを指定してください。

“`shell
docker run -it –rm –name pythoncv -w /mygit/appdir/ -v “$PWD”:/mygit/appdir/ jjanzic/docker-python3-opencv python index.py
“`

#各オプション
## -w
作業フォルダ指定

##-v
マウントディレクトリ指定

“`text
“is not shared from OS X and is not known to Docker.”というエラーが出る場合があります。
こちらの記事を参照して回避してください。
“`

【Docker For Mac】Error response from daemon: Mounts deniedの対応
https://qiita.com/nishina555/items/a75ce530d9382aa09511

#感想
環境構築で時間が取られなくて最高。

元記事を表示

Pythonでテーブル画像を出力する

PythonでDataframeをパワポに載せる際に、
綺麗な表を出力するための情報が少ないなと知ったため作成しました。

### 1. plotlyのインストール
https://qiita.com/ogrew/items/e6ba517cec9fb5161cb6
に詳しく記述されています。

### 2. テーブルの作成
“`python:plotly.rb
import pandas as pd
import plotly.graph_objects as go
import numpy as np

#データの作成
x1 = np.arange(0,10, 1)
y2 = np.arange(0,20, 2)
z3 = np.arange(0,30, 3)
P_X = [“{}“.format(i) for i in range(10)]

#Dataframeの作成
df = pd.DataFrame({“X1”:x1, “Y2”:y2, “Z3”:z3, “PX“:P_X})

#テーブルの作成
fig = go.Figure(data

元記事を表示

PyTorch による MNISTデータセットの分類モデル作成

# 環境構築
Windows で python3.6 + OpenCV3 + PyTorch による画像データの機械学習を行うための
環境構築設定を以下に記載します。
– OpenCV3: Python で画像データを扱うライブラリ (https://opencv.org)
– PyTorch: Facebook で使われている深層学習フレームワーク (https://pytorch.org)

***
### 1. WinPython のインストールと実行
今回は「WinPython64-3.6.7.0Qt5」を使用するため、以下の URL から「WinPython64-3.6.7.0Qt5.exe」をダウンロードしてください。
https://ja.osdn.net/projects/sfnet_winpython/releases/

ダウンロードしたら「*C:\study*」配下に配置して実行してください。
(フォルダがない場合は作成)

実行が完了したら「*C:\study\WPy-3670*」配下の「Jupyter Lab.exe」を実行して

元記事を表示

pythonモジュールがimport済みかどうかを確認する方法

#### 標準ライブラリ sys で確認できる.

チェックのためだけのスクリプトを用意.
module_checker.py

“`python
import sys
import subprocess

if “subprocess” in sys.modules:
print(“module already imported”)
else:
print(“module not imported”)
“`
“`
$ python module_checker.py
module already imported
“`

“`python
import sys
# import subprocess

if “subprocess” in sys.modules:
print(“module already imported”)
else:
print(“module not imported”)
“`
“`
$ python module_checker.py
module not imported
“`

元記事を表示

Pythonでカレンダーマスタを生成する

#Pythonでカレンダーマスタを生成する

##概要
この時期くらいに、様々なシステムに対してカレンダーマスタなるものを設定している作業を
されている方も多いのでは無かろうか?
GUIでぽちぽち設定するマスタもあれば
csv等で一括取込するケースもあるだろう。
この記事は、後者である場合にて
[jpholiday](https://github.com/Lalcs/jpholiday)さんを用いて、
カレンダーマスタを生成するサンプルである。

日付でループする処理や、曜日の日本語名取得、祝日名取得などが参考になると思う
サンプルコードは、休日のみを登録する仕様に対応したものだが
後半ロジックを少しカスタマイズすれば、全日登録して、営業日flagを持った仕様にも対応できると思う

##利用環境
>
Python 3.7.2
Visual Studio Code 1.39.1
>

##使用するパッケージ
* datetime
* jpholiday

##サンプルコード

“`creat_cal.py

#とあるシステムのカレンダーマスタを用意する。

import csv

元記事を表示

NucDiffが使いたい -Python2との切り替え

## はじめに
類似菌のゲノム特性の差を知るためにNucDiffを使うことにしたわけだが、Python2で動くNucdiffはPython3にアップデートした自分のPCでは利用できない。実際やってみたが、multiprocessingという過程でエラーが起き、できないことを確認した。そこで、今回はcondaに仮想環境でPython2を入れて、Python3とは別環境で動作できる状態にしようと思う。

## やり方
仮想環境とはなんぞやという話については[ここ](https://qiita.com/ozaki_physics/items/985188feb92570e5b82d)に詳しく記載されているので、読めばざっくりわかる。また、Python2を導入する方法については、[このサイト](https://qiita.com/LittleWat/items/166f976cccf30bc63e62)を参考にした。今回の戦略としては、Python2でできた仮想環境にNucDiffを入れることなので、まずはPython2の仮想環境を作る。

“`
conda create -n py2 py

元記事を表示

sorted

“`py:点数の低い順
ranking = {
‘A’:100,
‘B’:80,
‘C’:95
}

print(sorted(ranking, key=ranking.get))
“`

“`:実行結果
[‘B’, ‘C’, ‘A’]
“`

“`py:点数の高い順
ranking = {
‘A’:100,
‘B’:80,
‘C’:95
}

print(sorted(ranking, key=ranking.get, reverse=True))
“`

“`:実行結果
[‘A’, ‘C’, ‘B’]
“`

元記事を表示

[Python3 入門 14日目]7章 文字列(7.1.1.1〜7.1.1.4)

###7.1.1.2 UTF-8によるエンコード、デコード

外部の世界との間でデータをやり取りするときには良い¥かの二つの手段が必要になる。

– 文字列をバイト列にエンコードする手段
– バイト列を文字列にデコードする手段
– 動的エンコード方式のUTF-8はPython、Linux、HTMLでは標準的なエンコーディングである。
– webページなどから他のソースをコピー&ペーストでPython文字列を作るときは、ソースがUTF-8形式でエンコードされていることを確かめなければならない。(例外が発生する。)

###7.1.1.3 エンコーディング(記号化)

– 情報の送信側が、伝えたいメッセージ内容を受信側に届く記号の形に変換すること。
– 文字列をエンコードしてバイトにする。
– 文字列のencode()関数の第一引数はエンコーディング名。
– **UTF-8**は**8ビット可変長エンコーディング**。

“`py

#Unicode文字列”\u2603″を代入
>>> snowman=”\u2603″
>>> len(snowman)
1

#このUnicode文字

元記事を表示

Anaconda(python 3.7)でspyderが起動できない問題を解決する

#はじめに
データサイエンスの講座に参加した時にspyderを使う機会があったのだが
受講者の中でなぜか自分だけspyderを起動できなかった。
一応解決したのでメモ

#症状
spyderを起動時に
**カーネルを開始中にエラーが発生しました**
と表示され、起動できなかった。

#環境
OS:Windows 10
[Anaconda python 3.7](https://www.anaconda.com/distribution/)(2020/1/22時点の最新版)

#解決策
1. 一度Spyderを終了し、**管理者として**Anaconda promptを実行
2. `conda update –all`を実行
3. 色々updateされるので、updateが完了されたら終了
4. spyderを起動すると正常に立ち上がるはず

管理者として実行するのがポイント
そのまま実行するとupdateが途中で失敗してしまう。

#最後に
実はspyderの[GitHub](https://github.com/spyder-ide/spyder/issues/10400)に解決策

元記事を表示

【Python】 Hartreeからボルツマン分布を計算するプログラム

#イントロダクション
Gaussianの最適化計算の結果を入れて、存在比を計算するプログラムがよく必要になります。そのたびに作るがなくしてしまうし、単位変換とかめんどくさい。
解説ないです。間違いがあったら指摘してくれると嬉しいです。
#作った

“`Python:dist.py

import numpy as np

def boltz(E_list, temp=298.15):
“””
Gaussian Energy to Boltzmann distribution
—————————
input
E_list: Hartee numpy array
temp: (K)
—————————
output
Distribution numpy array
Normalized so that the sum is 10
“””
E_list = E_list – np.amin(E_list)
kb =

元記事を表示

【Python3】Pythonを始めたときに参考にしたサイト一覧

# Pythonを始めたときに参考にしたサイト一覧

– Pythonに初めて触る方
– とりあえずPythonを動かしてみたい方

上記の状態ではじめに参考にしたサイトの一覧です。

## Pythonをインストールする(Mac版)

[環境構築ガイド – python.jp(公式日本語版サイト)](https://www.python.jp/install/install.html)

上記の画面でmacOSなど、インストール先のOSのボタンをクリックすると、
インストール方法が詳しく書かれています。

## Pythonを試してみる

[2. Python インタプリタを使う – python.jp(公式日本語版サイト)](https://docs.python.org/ja/3/tutorial/interpreter.html)

インストールしたPythonでとりあえず何か動かしてみようと思ったときに参考にさせて頂きました。

# Pythonについて

[Python 3.8.1 ドキュメント(公式日本語版サイト)](https://docs.python.org/ja

元記事を表示

Python3でLeap Motion

# 記事の目的
[Leap Motion](https://www.ultraleap.com/product/leap-motion-controller/)というモーショントラッカーがあります。
これのPython用APIを使って、親指と人差し指の距離をリアルタイムに取得することを試みました。
PythonでLeap Motionを使う方法を紹介した記事は多くありますが、私の環境ではなかなかスムーズにいきませんでした。
ので、自分用メモとして方法を残します。

# 環境
– Windows 10 64bit
– Python 3.7.5

# まずPython 2.xで
Leap MotionのPython APIは、Python 2.xにしか対応していません。
Python3系列で動かすのはあとにして、まずはPython 2.7で動かしてみます。
Anacondaを使って、Python2.7環境を作ります。

## Leap Motion SDKの準備
次に、[Leap Motion Developerのサイト](https://developer.leapmotion.com/

元記事を表示

1/22 今日の目標と反省

はじめまして。pinaと申します。
元エンジニアで、AIエンジニアやデータサイエンティストの分野を目指して学習しています。

依然学習していたものの生活リズムの乱れとともに学習意欲が落ちてしまい続きませんでした。
今回は目標を立てて言語化することで、可視化するとともに表にアウトプットし、より意識できるようにしていきたいと思います。

今週の目標:
・環境に慣れる
ツールの使い方に慣れるまでは大変だが、焦らず一つ一つこなしていく

・プログラムを書く
トレースしながら改変し、自分で手を動かして楽しくものを作っていく

・言語化する
どう楽しかったか、どう難しかったかをこのqiitaに投稿して振り返る

今日の目標:
Tkinterを使ってGUIアプリを作る
ボタンをクリックすると関数を実行して画面に文字列を表示

元記事を表示

Pytestのjunitxmlオプションを付けると警告がでた

# 現象
pytestの勉強中に、テスト結果をJUnit形式で出力してJenkinsに食わせようと思い、–jnuixmlオプションを付けたら下記の警告メッセージが表示された

“`
============================================================== warnings summary ==============================================================
/usr/local/lib/python3.7/site-packages/_pytest/junitxml.py:436
/usr/local/lib/python3.7/site-packages/_pytest/junitxml.py:436: PytestDeprecationWarning: The ‘junit_family’ default value will change to ‘xunit2’ in pytest 6.0.
Add ‘junit_family=xunit1’ to your p

元記事を表示

PYTHON環境構築するなら絶対に理解しておかないといけない注意点

#インストール形式は3種類ある

普段みなさんがpythonの開発環境を構築するためには下記の公式ページからインストーラーをダウンロードすることでしょう。
***Python Releases for Windows***
https://www.python.org/downloads/windows/

例えば2020年1月21日付ではpython3.8.1が下記の形式で配布されている
※webの内容をコピペ

– Download Windows help file
– Download Windows x86-64 embeddable zip file
– Download Windows x86-64 executable installer
– Download Windows x86-64 web-based installer
– Download Windows x86 embeddable zip file
– Download Windows x86 executable installer
– Download Windows x86 web-based in

元記事を表示

AtCoder用にPythonの環境構築

# はじめに
最近、[AtCoder](https://atcoder.jp/)を始めました。
AtCoderは競技プログラミングサイトで、毎週リアルタイムのコンテストが開催されていて、AtCoderで評価されたレーティングを利用して、転職活動ができる[AtCoderJobs](https://jobs.atcoder.jp/)というサービスが話題になっているそうです。
最初、シェルがfishでHomebrewなどが入っている状態で色々試していましたが、うまくいかなかったので、Mac環境をきれいにして環境構築をしました。

# 環境
`macOS Catalina 10.15.2`
`Homebrew 2.1.15`
`bash 3.2.57`

# シェルをbashに戻す
ターミナルで以下コマンドを叩いて、ターミナルの再起動をするとシェルがbashに戻ります。

“`
$ chsh -s /bin/bash
“`

# Homebrewをアンインストールする
以下コマンドを叩いてパスワードを入力すると、Homebrewをアンインストールできます。

“`
$ ruby -e “

元記事を表示

pythonの二次元辞書を宣言・初期化する

## 動作環境
Windows10
PyCharm
python3.7

# やりたいこと
pythonの辞書型を二次元で初期化したい。

## コード
“`python
def main():
dic = {“a”: 0, “b”: 0, “c”: 0}
char_dic = {“a”: 0, “b”: 0, “c”: 0}
char_dic[“a”] = dict(dic)
char_dic[“b”] = dict(dic)
char_dic[“c”] = dict(dic)

# 任意の文字の次の文字の数を数える処理(二次元辞書が必要)
string = “aacbbb”
for i, n in enumerate(string):
if i + 1 == len(string):
break
char_dic[string[i]][string[i + 1]] += 1

for key, value in char_dic.items():

元記事を表示

[Python]メモ帳Twitterを作る(タイムライン表示編)

[[Python]メモ帳Twitterを作る(ツイート編) – Qiita](https://qiita.com/higuratu/items/1cf5d54a8925f0860262)の続編です。

上記の記事を投稿して1年以上経ってしまいました。
前回はツイートするところまで出来たので、今回はタイムラインを表示してみたよという備忘録。

PythonでTkinterというGUI作れるライブラリ使ってメモ帳twitter作るよ!

#前回のを少し修正
前回はツイート時に認証を通していたが、何度も認証通すのが面倒くさいので起動時に認証通すようにしてしまいました。
あとは可変があるキーはあとから修正しやすいように別ファイルに隔離しました。
起動時に認証通すと放置でセッションが切れてしまうため、
“`twitter = OAuth1Session(CK, CS, AT, ATS)“`
に関しては各関数にて認証を通します。

“`python:config.py
#twitterの認証に必要なキー一覧
CONSUMER_KEY = “XXXXXXXXXXXXXXX”
CONSUMER_

元記事を表示

Macでptyhon3

#Macでptyhon3
備忘録として残しておく
##環境
MacOSのバージョン10.14.6
Pythonのバージョン2.7.10

##3系の導入 
公式pkgをDL
https://www.python.org/ftp/python/3.8.1/python-3.8.1-macosx10.9.pkg
指示通りにインストール

##デフォルトをpython3にする
“`
$ echo ‘alias python=python3’ >> ~/.bash_profile
$ source ~/.bash_profile
“`
##2.7.10はpython2として起動できるようにシンボリックリンクを貼っておく
“`
$ cd /usr/local/bin
$ sudo ln -s /usr/bin/python2.7 python2
“`

##動作確認
“`
$ python -V
Python 3.8.1

$ python2 -V
Python 2.7.10
“`

元記事を表示

OTHERカテゴリの最新記事