Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Python環境の今 2022
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Manabu TERADA
January 22, 2022
Technology
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Python環境の今 2022
PyCon Kyushu 2022 Kumamotoでの寺田の発表資料
Manabu TERADA
January 22, 2022
More Decks by Manabu TERADA
See All by Manabu TERADA
baser_Meetup_キーノート_AI時代_CMSは何を管理するのか_.pdf
terapyon
0
66
Searching 23,000 Photos with Modern VLMs: From Text to Image
terapyon
0
62
PyCon JPに学ぶ『決め方の決め方』: TechLead Conference 2026
terapyon
1
670
World Plone Day 2026 AI時代のCMSを一緒に考える
terapyon
0
39
PythonのツールチェーンとOSS
terapyon
0
44
AI時代の罠:経験が浅いエンジニアを救うのは誰か?
terapyon
0
69
Python製CMSが実現する、権限管理とセマンティック検索の融合
terapyon
0
77
オープンソースを安心して利用するために
terapyon
1
120
CMSツールPloneでAAL2対応への挑戦
terapyon
0
82
Other Decks in Technology
See All in Technology
非定型業務をAI slackbotで自動化する ~ 社内要望を自動壁打ちするbotを作った ~/automating-ad-hoc-work-with-ai-slackbot
shibayu36
0
540
NAB Show 2026 動画技術関連レポート / NAB Show 2026 Report
cyberagentdevelopers
PRO
0
140
「コーディング」しない人のための Claude Code 入門 ChatGPT の次の一歩 — 業務に組み込む 育成・共有・自動化
rfdnxbro
2
1.3k
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
4
1.2k
Amazon Bedrock AgentCore ワークショップ JAWS UG TOHOKU / amazon-bedrock-agentcore-workshop-jawsug-tohoku-2026
gawa
9
540
Agentic ERPをどう設計するか ー 受発注エージェントを動かす、現場の知見と設計思想ー
recerqainc
1
2.1k
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
380
AIの性能が向上しても未解決な組織の重大問題は何か?/An Unsolved Organizational Problem in the Age of AI
moriyuya
3
550
ChatworkとBPaaS 異なる特性で学んだAI機能開発の ベストプラクティス
kubell_hr
2
3.3k
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
0
120
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
410
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
1
1.3k
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
WCS-LA-2024
lcolladotor
0
620
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
720
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Documentation Writing (for coders)
carmenintech
77
5.4k
First, design no harm
axbom
PRO
2
1.2k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Transcript
Python 環境の今 2022 プレゼンテーションスタート 1 / 37 Python の環境構築には複数の方法が存在します。このトークでは、Python 環境構築に必要な選択すべき項目を
あげ、それぞれについて選択方法を解説します。
自己紹介 寺田 学 (Manabu TERADA) @terapyon ( 株)CMS コミュニケーションズ代表 Python
エンジニア兼経営者 Python ベースのWeb 系システム構築やコンサルティングを行っている。 昨年から企業や学校に向けたプログ ラミング教育にも関わっている 2 / 37
共著・監修書籍 3 / 37 最近、寺田が関連していいる書籍の紹介 スラスラわかるPython 第2 版 翔泳社: 2021
岩崎 圭 著、北川 慎治 著、寺田 学 監修 Python 実践レシピ 技術評論社: 2022 鈴木たかのり著、筒井隆次 著、寺田学 著、 杉田雅子 著、門脇諭 著、福田隼也 著 Flask によるWeb アプリ開発入門 物体検知アプリ& 機械学習API の作り方 翔泳社: 2022 佐藤 昌基 著、平田 哲也 著、寺田 学 監修
会社紹介 ( 株)CMS コミュニケーションズ https://www.cmscom.jp Plone を使ったWeb システムの開発 Python を用いたシステム開発
Python 関連コンサルティング プログラミング教育 4 / 37
その他関連組織 一般社団法人 PyCon JP Association 代表理事: https://www.pycon.jp 一般社団法人Python エンジニア育成推進協会 顧問理事:
https://www.pythonic-exam.com 国立大学法人一橋大学 社会学研究科 地球社会専攻 非常勤講師 NVDA 日本語チーム Plone User’s Group Japan Python mini hack-a-thon 主宰 5 / 37
このトークの概要 https://speakerdeck.com/terapyon/sugushi-merareru-pythonfalsehuan-jing-gou-zhu 6 / 37 2017 年に PyCon mini Kumamoto
でトークした内容を 2022 年版にアップデートしたものです
Python バージョン 7 / 37 何を使っていますか?
寺田のオススメ 実装 CPython Python バージョン 3.9 インストール方法 公式インストーラ 仮想環境 venv
パッケージインストール pip エディタ VS Code 8 / 37
実装 9 / 37
Python 実装と選択 実装の種類 CPython C で実装されている PyPy Python で実装 MicroPython
機能限定のPython マイクロコントローラー向 Cython 高速化 選択基準 特別な理由がなければ CPython でいい。 Python といえば CPython のことを言う 10 / 37
バージョン 11 / 37
バージョン年表 ( 〜2013 年) Python 2 Python 3 Event 1994
1.0 … 2008 2.6 3.0 2009 3.1 2010 2.7 PyCon APAC in SG 2011 3.2 PyCon JP 2012 3.3 2013 PyCon APAC in Japan 12 / 37
バージョン年表 (2014 年〜) Python 2 Python 3 Event 2014 3.4
2015 3.5 2016 3.6 Python Boot Camp 2017 PyCon mini Kumamoto 2018 3.7 PyCon Kyushu in Fukuoka 2019 3.8 PyCon Kyushu in Okinawa 2020 End of Life 3.9 2021 3.10 2022 3.11 PyCon Kyushu in Kumamoto 13 / 37
Python バージョンの選択 特別な理由がなければ 最新が出てから、半年くらいたったバージョン 選択するときのポイント ライブラリが対応しているか? 動作させる環境は? 14 / 37
バージョンアップのタイミング あせって、Python のバージョンを上げなくてもいい 5 年間の保守期間があるので 上げるモチベーション 新しい機能を使いたい ライブラリの対応状況が変わる 積極的にやらないことが多い 15
/ 37
インストール方法 16 / 37
インストール方法 インストール方法の種類 公式インストーラ バニラインストーラ 公式版をソースコンパイル OS パッケージマネージャー apt / DNF
/ brew Anaconda 様々なパッケージをまとめてインストール インストール方法の選択 特に理由がなければ 公式インストーラ Linux 環境なら ソースコンパイル パッケージマネジャーを使う場合もある 17 / 37
18 / 37
Anaconda 科学技術計算系のパッケージが同梱されている インストールは手軽だが、 ハマリポイントも多い Windows 環境でも、Anaconda を使わずに、公式版と pip でインストールが可能 wheel
のおかげ 大企業で使う場合は有料化されているので注意 19 / 37
Python のバージョンを複数 OS 上に複数のマイナーバージョン 公式インストーラでインストール可能 マイクロバージョンを混在させることはできない 例 3: メジャー 9:
マイナー 8: マイクロ 20 / 37 Python 3.9.8
仮想環境 21 / 37
仮想環境とは 一つの OS 上に、複数の Python 環境を作れる 利用する Python ライブラリを区分できる OS
上のグローバルな Python 環境をクリーンに保てる Python レイヤーの仮想環境に限定 OS の仮想化やコンテナ化とは別物 22 / 37
仮想環境の種類 venv モジュール Python 標準ライブラリ virtualenv 以前の Python では使われていた venv
モジュールがある今、使われない pyenv Python のマイクロバージョンの切替も可能 conda コマンド Anaconda で使う 23 / 37
仮想環境の選択 venv モジュール venv モジュールの使い方 Linux / macOS Windows 24
/ 37 $ python -m venv venv # venv というフォルダができる $ source venv/bin/activate # 仮想環境を有効化 (venv) $ # プロンプトが変化 (venv) $ deactivate # 仮想環境の無効化 $ rm -r venv # 仮想環境のフォルダを削除 > py -m venv venv # venv というフォルダができる > venv\Scripts\Activate.ps1 # 仮想環境を有効化 (venv) > # プロンプトが変化 (venv) > deactivate # 仮想環境の無効化 > rmdir venv # 仮想環境のフォルダを削除
パッケージのインストール 25 / 37
パッケージのインストールとは サードパーティー製パッケージを導入 (基本的には)PyPI ( パイピーアイと読む) から様々なパッケージをインストール https://pypi.org 例えば 画像処理をする Pillow
Web フレームワーク Flask データ分析に使う pandas 26 / 37
27 / 37
pip コマンド Python に同梱しているコマンド pip で Pillow をインストール 28 /
37 $ sourse venv/bin/activate # 仮想環境を有効化 (venv) $ pip install pillow # Pillow をインストール (venv) $ pip freeze > requirements.txt # パッケージリストを作成 (venv) $ pip install -r requirements.txt # パッケージリストを元にインストール (venv) $ pip install -U pillow # Pillow をアップデート
wheel とは PEP427 The Wheel Binary Package Format 1.0 (
最新は PEP 491 Format 1.9) ビルド済みの配布用パッケージ C コンパイラが必要なパッケージに対応 ピュアPython でもwheel 提供されている 様々なプラットフォームに対応 プラットフォームに依存していない場合 最近は、Windows / macOS / Linux 用などのwheel が専用に準備されているパッケージが多い 29 / 37 numpy-1.22.1-cp39-cp39-win_amd64.whl numpy-1.22.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl numpy-1.22.1-cp39-cp39-macosx_11_0_arm64.whl Flask-2.0.2-py3-none-any.whl
エディタ 30 / 37
エディタ エディタの種類 VS Code 無料、統合環境、様々な言語に対応 PyCharm 有料、統合環境、Python に特化 Atom 無料、統合環境とまでは言えない
Emacs シンプルなエディタ、拡張機能で高機能化 vim シンプルなエディタ、CUI ベース IDLE Python の付属されているエディタ エディタの選択 特に制約はない 最初は統合環境を使うのが良い シンタクスハイライトやエラーの表示 いくつか試してみるのが良い 迷ったら VS Code で良いと思っている PyCharm は整っている感じで良いとは思う 31 / 37
寺田のオススメ( 再掲) 実装 CPython Python バージョン 3.9 インストール方法 公式インストーラ 仮想環境
venv パッケージインストール pip エディタ VS Code 32 / 37
寺田の環境 macOS 実装 CPython Python バージョン 3.8, 3.9, 3.10 インストール方法
公式インストーラ 仮想環境 venv パッケージインストール pip エディタ VS Code 33 / 37
寺田の環境 Linux 実装 CPython Python バージョン 3.6, 3.7, 3.8, 3.9
インストール方法 ソースビルド /opt 仮想環境 venv パッケージインストール pip エディタ VS Code 34 / 37
Windows の場合 実装 CPython Python バージョン 3.9 インストール方法 公式インストーラ 仮想環境
venv パッケージインストール pip エディタ VS Code 35 / 37
個人のPodcast を紹介 2020 年2 月からPodcast を配信 Python の話題やコミュニティの話題などを扱 っている 書籍関連の情報
terapyon channel podcast Top page terapyon channel podcas 36 / 37
Python 環境の今 2022 ご質問などお待ちしております。 Python の環境構築には複数の方法が存在します。このトークでは、Python 環境構築に必要な選択すべき項目を あげ、それぞれについて選択方法を解説しました。