Enviar pesquisa
Carregar
WindowsでPython
•
10 gostaram
•
10,861 visualizações
D
drillan
Seguir
みんなのPython勉強会#22 2017/03/08 driller@patraqushe
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 69
Baixar agora
Baixar para ler offline
Recomendados
Stapy#22 LT
Stapy#22 LT
NaoY-2501
S20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれから
Takeshi Akutsu
OSS Study#19_LT
OSS Study#19_LT
NaoY-2501
Pynyumon03 LT
Pynyumon03 LT
drillan
S18 t0 introduction
S18 t0 introduction
Takeshi Akutsu
stapy#23 LT
stapy#23 LT
NaoY-2501
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
Takeshi Akutsu
Recomendados
Stapy#22 LT
Stapy#22 LT
NaoY-2501
S20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれから
Takeshi Akutsu
OSS Study#19_LT
OSS Study#19_LT
NaoY-2501
Pynyumon03 LT
Pynyumon03 LT
drillan
S18 t0 introduction
S18 t0 introduction
Takeshi Akutsu
stapy#23 LT
stapy#23 LT
NaoY-2501
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
Takeshi Akutsu
Stapy#17LT
Stapy#17LT
drillan
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
Katsuhiro Morishita
チームで活用するAnaconda入門
チームで活用するAnaconda入門
Takeshi Akutsu
Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
Aki Ariga
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
Kazufumi Ohkawa
S09 t0 orientation
S09 t0 orientation
Takeshi Akutsu
S15 t0 introduction
S15 t0 introduction
Takeshi Akutsu
勉強会 Cvml python基礎
勉強会 Cvml python基礎
真哉 杉野
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Takanori Suzuki
S16 t1 python学習奮闘記#6
S16 t1 python学習奮闘記#6
Takeshi Akutsu
S14 t0 introduction
S14 t0 introduction
Takeshi Akutsu
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
プログラミング学習とScratch raspi python
プログラミング学習とScratch raspi python
Yoshitaka Shiono
Pyladies tokyo 2nd anniversary LT
Pyladies tokyo 2nd anniversary LT
drillan
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
Shohei Tai
PyAutoGUI等Pythonライブラリによる自動化支援
PyAutoGUI等Pythonライブラリによる自動化支援
H Iseri
Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
Takesxi Sximada
PyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッション
Tetsuya Morimoto
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
Mais conteúdo relacionado
Mais procurados
Stapy#17LT
Stapy#17LT
drillan
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
敦志 金谷
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
Katsuhiro Morishita
チームで活用するAnaconda入門
チームで活用するAnaconda入門
Takeshi Akutsu
Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
Aki Ariga
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
Kazufumi Ohkawa
S09 t0 orientation
S09 t0 orientation
Takeshi Akutsu
S15 t0 introduction
S15 t0 introduction
Takeshi Akutsu
勉強会 Cvml python基礎
勉強会 Cvml python基礎
真哉 杉野
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Takanori Suzuki
S16 t1 python学習奮闘記#6
S16 t1 python学習奮闘記#6
Takeshi Akutsu
S14 t0 introduction
S14 t0 introduction
Takeshi Akutsu
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
プログラミング学習とScratch raspi python
プログラミング学習とScratch raspi python
Yoshitaka Shiono
Pyladies tokyo 2nd anniversary LT
Pyladies tokyo 2nd anniversary LT
drillan
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
Shohei Tai
PyAutoGUI等Pythonライブラリによる自動化支援
PyAutoGUI等Pythonライブラリによる自動化支援
H Iseri
Python3 プログラミング勉強会
Python3 プログラミング勉強会
Tetsuya Morimoto
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
Takesxi Sximada
Mais procurados
(20)
Stapy#17LT
Stapy#17LT
scikit-learnを用いた機械学習チュートリアル
scikit-learnを用いた機械学習チュートリアル
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
チームで活用するAnaconda入門
チームで活用するAnaconda入門
Python札幌 2012/06/17
Python札幌 2012/06/17
なぜ科学計算にはPythonか?
なぜ科学計算にはPythonか?
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
S09 t0 orientation
S09 t0 orientation
S15 t0 introduction
S15 t0 introduction
勉強会 Cvml python基礎
勉強会 Cvml python基礎
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
S16 t1 python学習奮闘記#6
S16 t1 python学習奮闘記#6
S14 t0 introduction
S14 t0 introduction
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
プログラミング学習とScratch raspi python
プログラミング学習とScratch raspi python
Pyladies tokyo 2nd anniversary LT
Pyladies tokyo 2nd anniversary LT
久しぶりのPythonでgoogleのアレを制御してみた
久しぶりのPythonでgoogleのアレを制御してみた
PyAutoGUI等Pythonライブラリによる自動化支援
PyAutoGUI等Pythonライブラリによる自動化支援
Python3 プログラミング勉強会
Python3 プログラミング勉強会
サードパーティパッケージの歩き方
サードパーティパッケージの歩き方
Semelhante a WindowsでPython
PyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッション
Tetsuya Morimoto
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
Tetsuya Morimoto
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!
Kir Chou
Introduction Pycon2010
Introduction Pycon2010
(shibao)芝尾 (kouichiro)幸一郎
Start python with fastapi
Start python with fastapi
ku_taka
パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjp
Takeshi Komiya
超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows Serverにインストール
Shin Tanigawa
鳥取python勉強会 第2回
鳥取python勉強会 第2回
Yuji Oyamada
PyPy 紹介
PyPy 紹介
shoma h
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
dcubeio
みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
Atsushi Odagiri
各OSにおいて、OpenCVをpythonから使う方法
各OSにおいて、OpenCVをpythonから使う方法
Katsuhiro Morishita
S08 t0 orientation
S08 t0 orientation
Takeshi Akutsu
S10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnow
Takeshi Akutsu
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
Kazuto Kusama
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Katsuhiro Morishita
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
Yoshifumi Yamaguchi
Semelhante a WindowsでPython
(20)
PyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッション
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Python界隈の翻訳プロジェクト
Python界隈の翻訳プロジェクト
Python パッケージの影響を歴史から理解してみよう!
Python パッケージの影響を歴史から理解してみよう!
Introduction Pycon2010
Introduction Pycon2010
Start python with fastapi
Start python with fastapi
パッケージングの今と未来
パッケージングの今と未来
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjp
超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows Serverにインストール
鳥取python勉強会 第2回
鳥取python勉強会 第2回
PyPy 紹介
PyPy 紹介
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
Python × Herokuで作る 雑談slack bot
Python × Herokuで作る 雑談slack bot
みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
各OSにおいて、OpenCVをpythonから使う方法
各OSにおいて、OpenCVをpythonから使う方法
S08 t0 orientation
S08 t0 orientation
S10 t1 spc_by_nowfromnow
S10 t1 spc_by_nowfromnow
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Pythonを取り巻く開発環境 #pyconjp
Pythonを取り巻く開発環境 #pyconjp
Último
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
Último
(9)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
WindowsでPython
1.
WindowsでPython みんなのPython勉強会#22 2017/03/08 driller@patraqushe
2.
自己紹介 ○ driller /
どりらん @patraqushe ○ - 2010: コンピュータの会社に勤務 ○ 2010 -: 個人トレーダー ○ 2015 -: Pythonをはじめる
3.
fin-pyの紹介 Python + 金融のコミュニティです 毎月もくもく会をやってます 金融について詳しくない方でも興味が あるかた大歓迎です 次回は3/26(日)11:00-
です
4.
お申込みは今すぐ! https://connpass.com/event/52667
5.
注意事項(重要) ○ 複数の環境構築方法ついて説明しますが、優劣をつける 意図は全くありません ○ #stapy
のハッシュタグで、特定のOSやパッケージ等につ いてネガティブなツイートをしようようにしてください
6.
宗派が違ってもお互いを尊重して仲 良くしましょう ケンカはダメ。ゼッタイ。
7.
Agenda 1. Windows +
Pythonの状況 2. 環境構築について 3. 仮想環境について 4. おまけ
8.
Windowsを 取り巻く昨今の状況 おもいでぽろぽろ
9.
一昔前のWindows+Python環境 ○ Pythonのイベントに行けば、みんな当たり前のように MacBook ○ Linuxでしか動かないパッケージ ○
Linuxの情報しかない
10.
Windowsユーザが増えてきた? ○ IT以外の職種 ● 科学技術 ●
統計、マーケティング ● 金融 ○ 機械学習ブーム ○ Pythonブーム
11.
Windowsを使う理由 ○ 以前からWindowsユーザ ○ 職場がWindows ●
非IT系が多い ○ H/Wの選択肢を広げる ● ( ゚∀゚)o彡° Ryzen!Ryzen! ○ Windowsソフト、win32api
12.
Windowsが 避けられていた理由 なぜITエンジニアからは敬遠されるのか
13.
文字コード ○ CP932 ○ 1982年の規格 ●
35年前! ○ 文字化けとの長い戦い・・・
14.
コンソール(ターミナル)環境 ○ コマンドプロンプトが主流だった ○ コンソール上でエディタが使いづらい ○
スクリプト処理でできることが限られている ○ MS-DOS時代(1981年)から殆ど進化していない
15.
Pythonパッケージの対応 ○ Windowsが後回しにされるケースが多い ○ Windows用にビルドされたwheelがない ○
ビルドが大変 ● scipy, lxml, mecab, opencv
16.
Windows環境の改善 やればできる子?
17.
Python3.6でのWindows対応 ○ PEP529: ファイルシステムエンコーディングがUTF-8に ○
PEP528: コンソールエンコーディングがUTF-8に ○ ロングパス対応 ● 260文字制限がなくなった
18.
コンソールエンコーディングを試す 下記のコマンドを実行してみましょう python -c "print('€')" もしくはpythonを実行して >>>
print('€')
19.
PowerShell ○ 130個以上の標準的なコマンドラインツール ○ 管理タスクに重点を置いた新しいスクリプト言語 ○
一貫性のある構文とユーティリティ ○ エイリアスによるUNIXコマンドとの共通化
20.
コンソール サードパーティのソフトの機能がそれなりに充実 ○ ConEmu ○ Cmder ○
etc
21.
仮想環境 ○ virtualenvwrapper-winはコマンドプロンプトしか使えな かった ● Python2ではvirtualenvwrapper-powershellをインストールすると PowerShellが使える ●
virtualenvwrapper-powershellは少しめんどくさい ○ venvでPowerShellが使えるように ● Pythonの標準として使える
22.
ビルドが必要なパッケージ ○ Visual C++
2015 Build Tools ● Visual Studioのインストールが不要に ○ 非公式バイナリ ● http://www.lfd.uci.edu/~gohlke/pythonlibs/ ○ ANACONDA
23.
Docker for Windows ○
VirtualBox、Gitのインストールが不要に ● インストールが楽になった ○ PowerShell対応
24.
Bash on Ubuntu
on Windows ○ WindowsでBash(Ubuntu)が使えるように ○ Pythonも動作 ○ オーバヘッドなしにLinuxのバイナリが動作 ○ ベータ版で発展途上だが着々と改善している
25.
Windowsでも Pythonが使えるようになってきた
26.
環境構築の重要性 人はなぜ環境構築の話になると 熱くなるのか?
27.
本当にあった怖い話 ○ 会社員時代に仕様書に従って三日三晩かけてシステムを 構築 ○ 32bitのOSじゃないとアプリケーションが動かないことが判 明 ○
OSから全部入れ直し・・・
28.
環境構築を甘く見ていると・・・ ○ プラットフォームの選択を誤ると、そもそもやりたかったこと ができなくなる ○ 壊れたときにやり直しが大変になる ○
変更をした影響で既存のプログラムが動かなくなる
29.
Windowsにおける Pythonの選択肢 意外と色々ある
30.
WindowsにおけるPythonの選択肢 ○ 公式のPython ○ ディストリビューション ●
公式 ● ANACONDA ● Intel® Distribution for Python* ● etc
31.
その他の選択肢 ○ VM ● VirutualBox,
VMWare ○ Docker ● Docker for Windows ● Doker Toolbox ○ Cygwin, MSYS, MSYS2 ○ Bash on Ubuntu on Windows
32.
公式配布のPython ○ python.orgから配布されているPython ○ 公式なので色々と安心 ●
情報が充実 ● 事例が豊富 ○ 最新版のリリースが一番早い ○ vanilla Pythonとも呼ばれるらしい
33.
32bit or 64bit ○
32bitにする理由 ● OSが32bit ● win32APIを呼び出す ● C拡張を32bitでビルドして配布する ○ 上記以外の理由がなければ64bitでよさそう ○ 両方入れるという選択肢も
34.
ANACONDA ○ Continuum Analytics社が提供しているPythonのディス トリビューション ○
データ分析等によく使われる多数のパッケージがプリイン ストール ○ パッケージ管理が独自仕様 ○ 最小構成で入れる場合はMinicondaを選択
35.
公式配布のPython or ANACONDA ○
きのこたけのこ戦争並の論争に ○ それぞれに利点と欠点があるので、それを踏まえた選択 を ○ 両方入れるという選択肢も
36.
ANACONDA 利点 ○ 必要そうなパッケージ が大抵入ってる ○ すぐにはじめられる ○
パッケージがビルド済 み 欠点 ○ パッケージが独自仕様 ○ 最新版とのラグ ○ 問題が会った場合のト ラブルシュートが困難
37.
Intel® Distribution for
Python* ○ 様々な点で高速化されている ● MKL: Numpy, Scipy, scikit-learn ● Threading Building Blocksライブラリ ● JITコンパイル(Numba) ● CythonとMPIライブラリを使用したmpi4pyの高速化 ● pyDAALを介したデータ解析アクセラレーションライブラリ ○ pip, condaを使用したパッケージ管理が可能 ○ 最新のPythonがビルドされるまでのラグがある ● 2017年02月時点ではPython3.5
38.
その他のディストリビューション ○ Enthought Canopy ●
scipy.orgのスポンサー ○ Python(x,y) ● 2系のみ、開発終了? ○ WinPython ● ポータブル ● バージョンが古い
39.
複数のPythonを入れる場合のTips ○ インストール時にPathを設定しないようにする ● システムで使いたいPythonだけ設定する ○
Pathを切り替える方法を用意する ● コマンドプロンプト ■ バッチファイル ■ doskey ● PowerShell ■ スクリプト ■ Set-Alias
40.
PATHの通し方(コマンドプロンプト) 例: "C:Python36"にpython.exeがある場合 ○ 既存のPATHを含める PATH=C:Python36;C:Python36Scripts ○
既存のPATHを含めない PATH=C:Python36;C:Python36Scripts;%PATH%
41.
PATHの通し方(PowerShell) 例: "C:Python36"にpython.exeがある場合 ○ 既存のPATHを含める $Env:Path
= "C:Python36;C:Python36Scripts;" + $Env:Path ○ 既存のPATHを含めない $Env:Path = "C:Python36;C:Python36Scripts"
42.
環境を切り替えるコマンドを登録 Windows PowerShell プロファイルを作成して編集 New-item
–type file –force $profile notepad $profile Set-AliasでPATHを通すコマンドを登録しておく
43.
Demo コマンド一発でPython環境を切り替え ○ Python3.6(64bit) ○ Python3.6(32bit) ○
Python2.7(32bit) ○ ANACONDA Python3.6(64bit) ○ ANACONDA Python3.6(32bit) ○ Intel® Distribution for Python*
44.
Bash on Ubuntu
on Windows ○ Windows Subsystem for Linux(WSL)上で動作する Ubuntu ○ 14.04LTS→Build 14943以降から16.04LTSに ○ PythonはUbuntuと同じ方法でインストール ● apt-get ● ソースからビルド ● pyenv ○ 大抵のパッケージは動作 ● GUI系は少し工夫が必要
45.
仮想マシン、コンテナ Linuxの環境と合わせることができる ○ 仮想マシン ● VMWare ●
VirtualBox ● Vagrant ○ コンテナ ● Docker for Windows ● Docker Toolbox
46.
なぜわざわざLinux環境にするのか ○ 殆どのパッケージが動作 ○ 豊富な事例、ノウハウ ○
シェルスクリプト ○ 文字コード ○ 高い互換性 ● manylinux wheel
47.
Demo ○ 数多の挑戦者を退けてきたmecabを試す ● Bash
on Ubuntu on Windows ● Docker for Windows
48.
自分に合ったものを入れよう
49.
仮想環境のすゝめ 最強のリスクヘッジ
50.
なぜ仮想環境を使うのか? ○ スクラップアンドビルドが容易 ○ 変更が全体に影響を及ぼさない ○
複数のバージョンを扱える ○ 必要最小限の環境をつくれる
51.
スクラップアンドビルド ○ 変更を加えるとおかしくなることがある ● パッケージ、拡張機能のインストール ●
環境変数の変更 ○ 場合によっては再インストールが必要に ○ 仮想環境にしておけば、削除して作り直しが簡単にできる
52.
変更に対する影響 ○ PATHの上書き ○ アップデートしたパッケージの変更 ○
Python自体のバージョン変更の影響
53.
複数のバージョン ○ Pythonのバージョンを複数に ○ パッケージのバージョンを複数に ○
PATHを自動で設定できる
54.
最小環境 ○ 単体でテストができる ● 依存パッケージの確認 ●
パッケージの配布 ○ 問題の切り分けが容易
55.
Windows + Python の仮想環境 virtualenv venv conda
env
56.
virtualenv ○ Python2の仮想環境の主流 ○ virtualenvwrapperと組み合わせることで利便性が向上 ○
Windowsではコマンドプロンプトのみ対応 ● PowerShellは一部対応
57.
venv ○ Python3.3から標準ライブラリとして使用可能 ○ PowerShellに対応 ○
任意のディレクトリに仮想環境を作成できる
58.
venv超入門 ○ 仮想環境の作成 <python-path> -m
venv <envname> ○ 仮想環境に切り替え <envdir>ScriptsActivate.ps1 コマンドプロンプトの場合はActivate.bat ○ 仮想環境から抜ける deactivate
59.
ANACONDAの仮想環境(conda env) ○ ANACONDA独自の仮想環境 ○
複数バージョンのPythonを構築できる ○ PowerShellで使う場合はPSCondaEnvsのActivateスクリ プトを使用する ● https://github.com/Liquidmantis/PSCondaEnvs
60.
conda env超入門 ○ 仮想環境の作成 conda
create -n <envname> python=<python-version> ○ 仮想環境に切り替え activate <envname> ○ 仮想環境から抜ける deactivate.ps1 コマンドプロンプトの場合はdeactivate.bat
61.
Demo ○ venvによる仮想環境の切り替え ○ conda
envによる仮想環境の切り替え
62.
仮想環境からはじめよう
63.
おまけ ベンチマーク
64.
動作環境(プラットフォーム) Host OS Guest
OS Python Windows-10-10.0. 15025-SP0 (build15025.1000) Python3.6.0 64bit Python3.6.0 32bit ANACONDA Python3.6.0 64bit ANACONDA Python3.6.0 32bit Intel® Distribution for Python* 3.5(Version 2017 (Update 2)) Linux-4.4.0-43-Microsoft-x86_ 64-with-Ubuntu-16.04-xenial Python3.6.0 (BoW) Linux-4.9.8-moby-x86_64-wit h-debian-8.7 Python3.6.0 (Docker for Windows 10072) ArchLinux Python3.6.0
65.
プログラム ○ コードはPure Python ○
与えられた自然数(今回は100,000,000)から 素数を探索するアルゴリズム ● https://github.com/famzah/langs-performance ○ 計測はBenchmarkerを使用 ● 5回施行し、最大値と最小値を除く3回の実行時間の平 均値
66.
ベンチマーク結果 ※ Arch Linuxは同一のH/Wで実施(参考値)
67.
ベンチマークについて ○ 懸念されていたBoWのオーバヘッドはなかった ● むしろ他より速かった ○
個別パッケージのベンチマークをしたほうがよさそう ● Numpy, scipy, 機械学習系, 画像処理系 ○ パッケージのビルド方法によって差が出る可能性も
68.
速度が気になる人は測ってみよう
69.
まとめ ○ WindowsでもPythonできる ○ 自分に合った環境構築を ○
仮想環境を活用しよう ○ 速度が気になる人は比べてみよう
Baixar agora