Python環境構築
- pyenvのインストール
wk$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv Cloning into '/Users/foo/.pyenv'... fatal: Unable to look up github.com (port 9418) (nodename nor servname provided, or not known) wk$ wk$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv Cloning into '/Users/foo/.pyenv'... remote: Counting objects: 10760, done. remote: Compressing objects: 100% (13/13), done. remote: Total 10760 (delta 1), reused 0 (delta 0), pack-reused 10746 Receiving objects: 100% (10760/10760), 1.87 MiB | 360.00 KiB/s, done. Resolving deltas: 100% (7648/7648), done. Checking connectivity... done.
- rehashのインストール
wk$ git clone https://github.com/yyuu/pyenv-pip-rehash.git ~/.pyenv/plugins/pyenv-pip-rehash Cloning into '/Users/foo/.pyenv/plugins/pyenv-pip-rehash'... remote: Counting objects: 127, done. remote: Total 127 (delta 0), reused 0 (delta 0), pack-reused 127 Receiving objects: 100% (127/127), 16.67 KiB | 0 bytes/s, done. Resolving deltas: 100% (57/57), done. Checking connectivity... done.
- virtualenvのインストール
wk$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv Cloning into '/Users/foo/.pyenv/plugins/pyenv-virtualenv'... remote: Counting objects: 1136, done. remote: Compressing objects: 100% (74/74), done. remote: Total 1136 (delta 45), reused 0 (delta 0), pack-reused 1062 Receiving objects: 100% (1136/1136), 351.95 KiB | 199.00 KiB/s, done. Resolving deltas: 100% (744/744), done. Checking connectivity... done.
- プロファイルの編集
wk$ ls ~/.bash_profile /Users/foo/.bash_profile wk$ less ~/.bash_profile wk$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile wk$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile wk$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile wk$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile wk$ source .bash_profile
- pyenvインストールの確認
MacBook-Air:work03 foo$ pyenv pyenv 20150719 Usage: pyenv <command> [<args>] Some useful pyenv commands are: commands List all available pyenv commands local Set or show the local application-specific Python version global Set or show the global Python version shell Set or show the shell-specific Python version install Install a Python version using python-build uninstall Uninstall a specific Python version rehash Rehash pyenv shims (run this after installing executables) version Show the current Python version and its origin versions List all Python versions available to pyenv which Display the full path to an executable whence List all Python versions that contain the given executable See `pyenv help <command>' for information on a specific command. For full documentation, see: https://github.com/yyuu/pyenv#readme
- インストール可能な一覧表示
wk$ pyenv install -l Available versions: 2.1.3 2.2.3 2.3.7 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.6.6 2.6.7 2.6.8 2.6.9 2.7-dev 2.7 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.7.10 3.0.1 3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.2-dev 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.3.0 3.3-dev 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.4.0 3.4-dev 3.4.1 3.4.2 3.4.3 3.5.0b1 3.5.0b2 3.5.0b3 3.5-dev 3.6-dev anaconda-1.4.0 anaconda-1.5.0 anaconda-1.5.1 anaconda-1.6.0 anaconda-1.6.1 anaconda-1.7.0 anaconda-1.8.0 anaconda-1.9.0 anaconda-1.9.1 anaconda-1.9.2 anaconda-2.0.0 anaconda-2.0.1 anaconda-2.1.0 anaconda-2.2.0 anaconda-2.3.0 anaconda3-2.0.0 anaconda3-2.0.1 anaconda3-2.1.0 anaconda3-2.2.0 anaconda3-2.3.0 ironpython-dev ironpython-2.7.4 ironpython-2.7.5 jython-dev jython-2.5.0 jython-2.5-dev jython-2.5.1 jython-2.5.2 jython-2.5.3 jython-2.5.4-rc1 jython-2.7.0 miniconda-2.2.2 miniconda-3.0.0 miniconda-3.0.4 miniconda-3.0.5 miniconda-3.3.0 miniconda-3.4.2 miniconda-3.7.0 miniconda-3.8.3 miniconda-3.9.1 miniconda3-2.2.2 miniconda3-3.0.0 miniconda3-3.0.4 miniconda3-3.0.5 miniconda3-3.3.0 miniconda3-3.4.2 miniconda3-3.7.0 miniconda3-3.8.3 miniconda3-3.9.1 pypy-c-jit-latest pypy-c-nojit-latest pypy-dev pypy-portable-2.3.1 pypy-portable-2.4 pypy-portable-2.5 pypy-portable-2.5.1 pypy-portable-2.6.0 pypy-1.5-src pypy-1.5 pypy-1.6 pypy-1.7-dev pypy-1.7 pypy-1.8-dev pypy-1.8 pypy-1.9-dev pypy-1.9 pypy-2.0-dev pypy-2.0-src pypy-2.0 pypy-2.0.1-src pypy-2.0.1 pypy-2.0.2-src pypy-2.0.2 pypy-2.1-src pypy-2.1 pypy-2.2-src pypy-2.2 pypy-2.2.1-src pypy-2.2.1 pypy-2.3-src pypy-2.3 pypy-2.3.1-src pypy-2.3.1 pypy-2.4.0-src pypy-2.4.0 pypy-2.4-beta1-src pypy-2.4-beta1 pypy-2.5.0-src pypy-2.5.0 pypy-2.5.1-src pypy-2.5.1 pypy-2.6.0-src pypy-2.6.0 pypy3-dev pypy3-portable-2.3.1 pypy3-portable-2.4 pypy3-2.3.1-src pypy3-2.3.1 pypy3-2.4.0-src pypy3-2.4.0 stackless-dev stackless-2.7-dev stackless-2.7.2 stackless-2.7.3 stackless-2.7.4 stackless-2.7.5 stackless-2.7.6 stackless-2.7.7 stackless-2.7.8 stackless-3.2-dev stackless-3.2.2 stackless-3.2.5 stackless-3.3-dev stackless-3.3.5 stackless-3.4.1
- Pythonの3.4.3のインストール
wk$ pyenv install 3.4.3 Downloading readline-6.3.tar.gz... -> http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz Installing readline-6.3... Installed readline-6.3 to /Users/foo/.pyenv/versions/3.4.3 Downloading Python-3.4.3.tgz... -> https://yyuu.github.io/pythons/4281ff86778db65892c05151d5de738d Installing Python-3.4.3... Installed Python-3.4.3 to /Users/foo/.pyenv/versions/3.4.3
- インストールされたバージョンの確認
wk$ pyenv versions * system (set by /Users/foo/.pyenv/version) 3.4.3
- pipの確認 (python 2には入っていない模様)
wk$ pip pyenv: pip: command not found The `pip' command exists in these Python versions: 3.4.3
- Pythonのバージョン変更
wk$ pyenv global 3.4.3 wk$ pyenv versions system * 3.4.3 (set by /Users/foo/.pyenv/version)
- pipの確認
wk$ pip Usage: pip <command> [options] Commands: install Install packages. uninstall Uninstall packages. freeze Output installed packages in requirements format. list List installed packages. show Show information about installed packages. search Search PyPI for packages. wheel Build wheels from your requirements. zip DEPRECATED. Zip individual packages. unzip DEPRECATED. Unzip individual packages. help Show help for commands. General Options: -h, --help Show help. --isolated Run pip in an isolated mode, ignoring environment variables and user configuration. -v, --verbose Give more output. Option is additive, and can be used up to 3 times. -V, --version Show version and exit. -q, --quiet Give less output. --log <path> Path to a verbose appending log. --proxy <proxy> Specify a proxy in the form [user:passwd@]proxy.server:port. --retries <retries> Maximum number of retries each connection should attempt (default 5 times). --timeout <sec> Set the socket timeout (default 15 seconds). --exists-action <action> Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup. --trusted-host <hostname> Mark this host as trusted, even though it does not have valid or any HTTPS. --cert <path> Path to alternate CA bundle. --client-cert <path> Path to SSL client certificate, a single file containing the private key and the certificate in PEM format. --cache-dir <dir> Store the cache data in <dir>. --no-cache-dir Disable the cache. --disable-pip-version-check Don't periodically check PyPI to determine whether a new version of pip is available for download. Implied with --no-index.
- numpyのインストール
wk$ pip install numpy You are using pip version 6.0.8, however version 7.1.0 is available. You should consider upgrading via the 'pip install --upgrade pip' command. Collecting numpy Downloading numpy-1.9.2-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (3.7MB) 100% |################################| 3.7MB 85kB/s Installing collected packages: numpy Successfully installed numpy-1.9.2
- pandasのインストール
wk$ pip install pandas You are using pip version 6.0.8, however version 7.1.0 is available. You should consider upgrading via the 'pip install --upgrade pip' command. Collecting pandas Downloading pandas-0.16.2-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (7.4MB) 100% |################################| 7.4MB 47kB/s Requirement already satisfied (use --upgrade to upgrade): numpy>=1.7.0 in ./.pyenv/versions/3.4.3/lib/python3.4/site-packages (from pandas) Collecting python-dateutil>=2 (from pandas) Downloading python_dateutil-2.4.2-py2.py3-none-any.whl (188kB) 100% |################################| 192kB 647kB/s Collecting pytz>=2011k (from pandas) Downloading pytz-2015.4-py2.py3-none-any.whl (475kB) 100% |################################| 475kB 416kB/s Collecting six>=1.5 (from python-dateutil>=2->pandas) Downloading six-1.9.0-py2.py3-none-any.whl Installing collected packages: six, pytz, python-dateutil, pandas Successfully installed pandas-0.16.2 python-dateutil-2.4.2 pytz-2015.4 six-1.9.0
- 作業ディレクトリに移動
wk$ python -V Python 3.4.3 wk$ cd python/test01/ MacBook-Air:test01 foo$ python Python 3.4.3 (default, Jul 20 2015, 20:49:52) [GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin Type "help", "copyright", "credits" or "license" for more information.
- numpyの確認
>>> import numpy >>> [1,2,3] >>> numpy.mean([1,2,3]) 2.0
- pandasの確認
>>> import pandas >>> names = ['Bob','Jessica','Mary','John','Mel'] >>> births = [968, 155, 77, 578, 973] >>> BabyDataSet = list(zip(names,births)) # Python3よりzipだけではダメでlistを使う必要がある(下記補足参照) >>> df = pandas.DataFrame(data = BabyDataSet, columns=['Names', 'Births']) >>> df Names Births 0 Bob 968 1 Jessica 155 2 Mary 77 3 John 578 4 Mel 973 >>>
- 補足
Python 3 - Zip is an iterator in a pandas dataframe - Stack Overflow