日本語 | English
Linux, Mac ではコマンドだけで全て済むが、 Windowsの場合Cygwin上だと python-build が動かない。 なのでその部分($ pyenv install X.X.X - 指定バージョンのPythonをpyenvに配置)に関しては手動で行う。
pyenvの配置
Githubからリポジトリを落としてPATHを通すだけ。
# Cygwin上で $ cd $ git clone https://github.com/pyenv/pyenv.git .pyenv $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> .profile $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> .profile $ echo -e 'eval "$(pyenv init -)"' >> .profile $ source .profile $ pyenv versions * system (set by /home/XXXXXXXXX/.python-version)
以下のエラーがでることがある。
/path/to/.pyenv/bin/pyenv: line 1: ../libexec/pyenv: No such file or directory
シンボリックリンクを貼るのに失敗しているのが原因。
貼り直してあげる。
$ cd $ touch /bin/readlink $ rm -rf ~/.pyenv/bin/pyenv $ ln -s ~/.pyenv/libexec/pyenv ~/.pyenv/bin/pyenv
再度動作を確認してみる。
$ pyenv versions * system (set by /home/XXXXXXXXX/.python-version)
pyenv install X.X.X
python-build が使えれば $ pyenv install X.X.X でおわるのだが、
cygwinには手動で配置する以外方法が見当たらなかった。
2系
公式のインストーラから、インストールパスを指定して配置する。
Windows x86-64 MSI installer
https://www.python.org/downloads/release/python-2712/
インストール先を /path/to/.pyenv/versions/2.7.12 とし、実行。
指定のバージョンが指定の場所に配置されているか確認。
おそらくシンボリックリンクは貼られていないので、手動で貼る。
$ cd .pyenv/versions/2.7.12 $ mkdir bin && cd bin $ ln -s ../python.exe python
動作を確認。
$ cd $ pyenv local 2.7.12 $ pyenv versions system * 2.7.12 (set by /home/XXXXXXXXX/.python-version) $ python -V Python 2.7.12
3系
2系と同様にインストーラを実行することも可能だが、
別の方法もある。
3系では embeddable file が配布されており、解凍して指定の場所に置くだけでも可。
Windows x86-64 embeddable zip file
https://www.python.org/downloads/release/python-362/
解凍したフォルダを /path/to/.pyenv/versions/3.6.2 に移動。
おそらくシンボリックリンクは貼られていないので、手動で貼る。
$ cd .pyenv/versions $ mv /path/to/python-3.6.2-embed-amd64 3.6.2 $ mkdir 3.6.2/bin && cd 3.6.2/bin $ ln -s ../python.exe python
動作を確認。
$ cd $ pyenv local 3.6.2 $ pyenv versions system 2.7.12 * 3.6.2 (set by /home/XXXXXXXXX/.python-version) $ python -V Python 3.6.2
これで Windows + Cygwin で python環境を柔軟に使える。