Slide 1

Slide 1 text

Keynote LiveͰ ͜ͷεϥΠυΛ഑৴ͯ͠·͢ɻ

Slide 2

Slide 2 text

͓લ୭Α • ໊લɿ
 ௶಺ ༝޹ (@2box2bo) • blogɿ
 http://www.zumwalt.info/blog • ॴଐ
 EjectίϚϯυϢʔβʔձ
 http://eject.kokuda.org/
 Python౦ւ (ڞಉ؅ཧਓ)
 http://connpass.com/series/292/

Slide 3

Slide 3 text

ػցֶश໊ݹ԰ɺॳࢀՃͰ͢ɻ

Slide 4

Slide 4 text

ͪͳΈʹ

Slide 5

Slide 5 text

ػցֶश͸શ͘஌Γ·ͤΜʂ

Slide 6

Slide 6 text

ͳͷͰ…

Slide 7

Slide 7 text

Python؀ڥߏஙํ๏ͷ࿩Λ͠·͢

Slide 8

Slide 8 text

ͦͯ͠ɺPython౦ւษڧձʹ དྷΔͷͰ͢…

Slide 9

Slide 9 text

஌ͬͯΔɺ Python࢖Θͳ͍ͬͯํ͸ ૉ਺Ͱ΋਺͍͑ͯͯͩ͘͞

Slide 10

Slide 10 text

Python؀ڥߏஙํ๏ 2016 ػցֶश ໊ݹ԰ ୈ7ճษڧձ 2016/10/15 @2box2bo

Slide 11

Slide 11 text

஫ҙࣄ߲ • ͜ͷߏஙखॱ͸།ҰແೋͷखॱͰ͸͋Γ·ͤΜɻ
 
 ҟ࿦͸ೝΊΔʂ • ͳΔ΂ࣦ͘ഊ͠ͳ͍खॱΛॻ͍ͯ·͕͢ɺࣦഊ͠ ͯ΋ٽ͔ͳ͍ɻ • ࣮ࢪ͸ࣗݾ੹೚Ͱɻ

Slide 12

Slide 12 text

Pythonͬͯʁ • ػցֶशʮ͔͠ʯͰ͖ͳ͍ݴޠͰ͸͋Γ·ͤΜɻ • ػցֶशʮ΋ʯͰ͖ΔݴޠͰ͢ɻ • ػցֶशؔ࿈ͷϥΠϒϥϦ͸๛෋Ͱ͕͢ɺػցֶ शҎ֎Ͱ΋࢖ΘΕ͍ͯ·͢ɻ
 ͨͱ͑͹ʮ͋ͱ΋͏1λʔϯ͚ͩ…ʯͰ༗໊ͳ Civilization4͸StaklessPythonͰॻ͔Εͯ·͢ɻ

Slide 13

Slide 13 text

ϞϯςεϚʂ

Slide 14

Slide 14 text

Agenda • PythonԾ૝؀ڥ • Linux(CentOS) ΁ͷΠϯετʔϧखॱ • macOS ΁ͷΠϯετʔϧखॱ • pyenv-virtualenvͷ࢖͍ํ • Windows10 ΁ͷΠϯετʔϧखॱ • Anacondaͷ࢖͍ํ

Slide 15

Slide 15 text

PythonԾ૝؀ڥ

Slide 16

Slide 16 text

໰. ҎԼͷҧ͍Λઆ໌͠ͳ͍͞ • pyenv • virtualenv • pyenv-virtualenv

Slide 17

Slide 17 text

͜ͷ΍΍͕͜͠͞ॳ৺ऀΛ໎ΘͤΔ

Slide 18

Slide 18 text

pyenv • ৭ʑͳPythonόʔδϣϯΛ؅ཧ͢Δπʔϧ • Python2ܥͱ3ܥΛ੾Γସ͑ͯ࢖͑Δ • shell΍σΟϨΫτϦͰ࢖༻͢ΔPythonΛࢦఆՄೳ • ಉҰόʔδϣϯͷPythonͰϥΠϒϥϦΛ੾Γସ͑ ͯ࢖͏͜ͱ͸Ͱ͖ͳ͍ • WindowsͰ͸࢖͑ͳ͍

Slide 19

Slide 19 text

pyenv ͷΠϝʔδ Python 2.7 Python 2.6 Python 3.5 QZFOW CT OVNQZ CT OVNQZ

Slide 20

Slide 20 text

virtualenv • ಉҰόʔδϣϯͷPythonͰ࢖༻͢ΔϥΠϒϥϦΛ ੾Γସ͑ͯ࢖͑ΔΑ͏ʹ͢Δπʔϧ • Python2ܥͱ3.2·Ͱͷ3ܥͰ࢖༻
 Python3.3Ҏ߱͸pyvenvͱ͍͏πʔϧʹͳͬͨʁ • pyenv ͱ͸ແؔ܎ • pip ͰΠϯετʔϧͰ͖Δ • WindowsͰ΋࢖͑Δ

Slide 21

Slide 21 text

virtualenv ͷΠϝʔδ bs4-test numpy-test develop WJSUVBMFOW CT OVNQZ CT OVNQZ Python 3.1

Slide 22

Slide 22 text

pyenv-virtualenv • pyenvͰಉҰόʔδϣϯͷPythonͰϥΠϒϥϦΛ ੾Γସ͑ͯ࢖͑ΔΑ͏ʹͨ͠πʔϧ • virtualenv ͱ͸ແؔ܎ • ࡞ऀ͸pyenvͱಉ͡ํ • ΋ͪΖΜWindowsͰ͸࢖͑ͳ͍

Slide 23

Slide 23 text

pyenv-virtualenv ͷΠϝʔδ Python 2.7 Python 2.7 Python 3.5 QZFOWWJSUVBMFOW CT OVNQZ CT OVNQZ bs4-test numpy-test develop

Slide 24

Slide 24 text

؆୯ͳ·ͱΊ • pyenv • ෳ਺όʔδϣϯͷPythonΛ੾Γସ͑ͯ࢖͑Δɻ • WindowsͰ͸࢖͑ͳ͍ɻ • virtualenv • PythonͷϥΠϒϥϦ؀ڥΛ੾Γସ͑ͯ࢖͑Δɻ • WindowsͰ࢖͑Δɻ • pyenv-virtualenv • pyenvʹvirtualenvͷػೳΛ௥Ճ͢Δɻ • WindowsͰ͸࢖͑ͳ͍ɻ

Slide 25

Slide 25 text

ௐ΂Δ࣌͸هࡌ͞Ε͍ͯΔͷ͕ virtualenvͳͷ͔ɺ pyenv-virtualenvͳͷ͔Λ ؾʹ͢Δɻ

Slide 26

Slide 26 text

ࠓճߏங͢ΔPython؀ڥ • Linux (CentOS7)
 pyenv + pyenv-virtualenv
 • macOS Sierra
 pyenv + pyenv-virtualenv
 • Windows10
 Anaconda

Slide 27

Slide 27 text

OSඪ४ͰΠϯετʔϧ͞Ε͍ͯΔ
 PythonΛมߋ͢Δͱؒҧ͍ͳ͘ τϥϒϧʹͳΓ·͢ɻ ※ ܦݧஊ

Slide 28

Slide 28 text

Linux(CentOS) ΁ͷ Πϯετʔϧखॱ

Slide 29

Slide 29 text

ߏங؀ڥ • CentOS Linux release 7.2.1511 (Core) • selinux ͸enforcing Ҏ֎Ͱ… • root࢖༻

Slide 30

Slide 30 text

pyenv Πϯετʔϧ • ඞཁύοέʔδͷΠϯετʔϧ # yum install -y gcc gcc-c++ make git patch openssl-devel zlib-devel readline-devel sqlite- devel bzip2-devel • μ΢ϯϩʔυ # git clone https://github.com/yyuu/pyenv.git / usr/local/pyenv/

Slide 31

Slide 31 text

pyenv Πϯετʔϧ • ؀ڥม਺ઃఆ # export PYENV_ROOT="/usr/local/pyenv" # export PATH=“/usr/local/pyenv/bin:$PATH" • python Πϯετʔϧ # pyenv install 3.5.2

Slide 32

Slide 32 text

pyenv-virtualenv Πϯετʔϧ • pyenv-virtualenv Πϯετʔϧ # cd /usr/local/pyenv/plugins/ # git clone https://github.com/yyuu/pyenv-virtualenv.git # git clone https://github.com/yyuu/pyenv-virtualenvwrapper.git

Slide 33

Slide 33 text

pyenv-virtualenv Πϯετʔϧ • ؀ڥม਺ઃఆ # cat <> ~/.bashrc if [ -f /usr/local/pyenv/bin/pyenv ]; then export PYENV_ROOT="/usr/local/pyenv" export PATH="/usr/local/pyenv/bin:\$PATH" eval "\$(pyenv init -)" PS1='(pyenv:\`pyenv version-name\`)'\$PS1 fi EOF

Slide 34

Slide 34 text

macOS ΁ͷ Πϯετʔϧखॱ

Slide 35

Slide 35 text

ߏங؀ڥ • macOS Sierra 10.12 • HomeBrewΛ࢖༻

Slide 36

Slide 36 text

HomeBrew Πϯετʔϧ • ඞཁύοέʔδͷΠϯετʔϧ $ ruby -e "$ curl -fsSL https:// raw.githubusercontent.com/Homebrew/install/ master/install ” • ҎԼ͕දࣔ͞ΕͨΒEnter Press RETURN to continue or any other key to abort

Slide 37

Slide 37 text

pyenv-virtualenv Πϯετʔϧ • pyenv-virtualenv Πϯετʔϧ $ brew install pyenv-virtualenv • ؀ڥม਺ઃఆ $ echo 'export PYENV_ROOT="/usr/local/var/pyenv"' >> ~/.bash_profile $ echo 'if which pyenv > /dev/null then eval "$ pyenv init - " fi' >> ~/.bash_profile $ echo 'if which pyenv-virtualenv-init > /dev/null then eval "$ pyenv virtualenv-init - " fi' >> ~/.bash_profile $ source .bash_profile

Slide 38

Slide 38 text

Python Πϯετʔϧ • Python Πϯετʔϧ $ pyenv install 3.5.2

Slide 39

Slide 39 text

pyenv-virtualenvͷ࢖͍ํ

Slide 40

Slide 40 text

pyenv-virtualenvͷ࢖͍ํ • Linuxɺmacڞ௨Ͱ͢ɻ • ΠϯετʔϧՄೳͳPythonͷҰཡදࣔ # pyenv install -l • python Πϯετʔϧ # pyenv install [Ұཡʹ͋Δόʔδϣϯ໊]

Slide 41

Slide 41 text

pyenv-virtualenvͷ࢖͍ํ • python Ծ૝؀ڥ࡞੒ # pyenv virtualenv [Pythonόʔδϣϯ] [Ծ૝؀ڥ໊] ྫ) # pyenv virtualenv 2.7.11 Py2Base
 # pyenv virtualenv Py2Base py2-test Ծ૝؀ڥ͔Β৽͍͠Ծ૝؀ڥΛ࡞ͬͨ৔߹͸ϥ ΠϒϥϦ౳΋Ҿ͖ܧ͕Ε·͢

Slide 42

Slide 42 text

pyenv-virtualenvͷ࢖͍ํ • python Ծ૝؀ڥ࡟আ # pyenv uninstall [Ծ૝؀ڥ໊] ֬ೝ͕Ͱͯ͘ΔͷͰyesΛೖྗ

Slide 43

Slide 43 text

pyenv-virtualenvͷ࢖͍ํ • ඪ४Ͱ࢖༻͢ΔPythonΛมߋ # pyenv global [Ծ૝؀ڥ໊] • ݱࡏͷshellͷPythonΛมߋ # pyenv shell [Ծ૝؀ڥ໊] • ݱࡏͷσΟϨΫτϦͷPythonΛมߋ # pyenv local [Ծ૝؀ڥ໊]

Slide 44

Slide 44 text

pyenv-virtualenvͷ࢖͍ํ • Ծ૝؀ڥͷҰཡදࣔ # pyenv versions • PyEnvͷΞοϓσʔτ # cd /usr/local/pyenv # git pull 
 ৽͍͠VersionͷPythonΛΠϯετʔϧ͢Δ࣌ʹ ΞοϓσʔτΛ࣮ࢪ͢Δ

Slide 45

Slide 45 text

Windows10 ΁ͷ Πϯετʔϧखॱ

Slide 46

Slide 46 text

ߏங؀ڥ • Windows10 Version 1607 • pyenv͸ΠϯετʔϧͰ͖ͳ͍ͷͰAnaconda Λ࢖༻

Slide 47

Slide 47 text

Anacondaͱ͸ • PythonΛ͓खܰʹΠϯετʔϧͰ͖Δπʔϧ • ෳ਺όʔδϣϯͷPython؅ཧ΍ಉҰόʔδϣϯ PythonͷϥΠϒϥϦ؅ཧ͕Մೳ • ηοτͰIPython΍Jupyter NotebookɺSpyder౳ ͷπʔϧ΍ϥΠϒϥϦ͕Πϯετʔϧ͞ΕΔɻ • miniconda Λ࢖͏ͱ࠷௿ݶͷPython؀ڥ͕Πϯε τʔϧ͞ΕΔɻ • WindowsҎ֎ʹ΋LinuxɺmacʹରԠ • LinuxɺmacͰ͸pyenvͱ૊Έ߹Θͤ΋Մೳ

Slide 48

Slide 48 text

Anaconda μ΢ϯϩʔυ • Anaconda
 https://www.continuum.io/downloads • miniconda
 http://conda.pydata.org/miniconda.html • 3ܥΛબΜͰ΋ޙ͔Β2ܥͷΠϯετʔϧՄೳ
 ٯʹ2ܥΛબΜͰ΋3ܥΛΠϯετʔϧՄೳ

Slide 49

Slide 49 text

• GUIͰϙνϙνʔͬͱͳɻ Anaconda Πϯετʔϧ

Slide 50

Slide 50 text

Anacondaͷ࢖͍ํ

Slide 51

Slide 51 text

Anacondaͷ࢖͍ํ • ΠϯετʔϧՄೳͳPythonͷදࣔ > conda search • Ծ૝؀ڥߏங > conda create -n [໊લ] python=[Versionࢦఆ] • Ծ૝؀ڥҰཡදࣔ > conda env list

Slide 52

Slide 52 text

Anacondaͷ࢖͍ํ • Ծ૝؀ڥ࡟আ > conda remove -n [໊લ] —all • Ծ૝؀ڥ੾Γସ͑ > activate [໊લ] • Ծ૝؀ڥΛൈ͚Δ > deavtivate

Slide 53

Slide 53 text

Ͷɺ؆୯Ͱ͠ΐʁ

Slide 54

Slide 54 text

No content

Slide 55

Slide 55 text

͔͜͜Βએ఻(ຊ൪)

Slide 56

Slide 56 text

Python౦ւͷ঺հ

Slide 57

Slide 57 text

Python౦ւ͸ ϓϩάϥϛϯάݴޠ ʮPythonʯ ͷ౦ւ஍ํ ίϛϡχςΟͰ͢

Slide 58

Slide 58 text

Python౦ւ • Pythonͷ౦ւ஍ํ஍ҬϩʔΧϧίϛϡχςΟ • ΏΔ;ΘͩΑʂ • PythonͬΆ͚Ε͹Կൃදͯ͠΋େৎ෉ͩΑʂ • ා͘ͳ͍Αʂ • PyͬͯͲ͔ͬʹ෇͍ͯΕ͹͍͍ͩͨOKʂʂ

Slide 59

Slide 59 text

PythonωλൃදͰ͖·͢ʂ

Slide 60

Slide 60 text

ػցֶशωλ΋OKʂ

Slide 61

Slide 61 text

RaspberryPiωλ΋OKʂ

Slide 62

Slide 62 text

ύΠ͕͍ͭͯΕ͹OK

Slide 63

Slide 63 text

ͦΜͳΏΔ;ΘͰૉఢͳ Python౦ւͷษڧձ͕…

Slide 64

Slide 64 text

10݄29೔(౔) ʹ։࠵ʂ ʮୈ31ճ Python౦ւ ษڧձʯ

Slide 65

Slide 65 text

ਃࠐɾৄࡉ͸connpassͰʂ
 http://connpass.com/event/40191/

Slide 66

Slide 66 text

ੋඇɺ͓͍ͩ͘͜͠͞ɻ

Slide 67

Slide 67 text

͓ΘΓ