在Debian7中建立python3.4的工作環境
====================================
源由:
目前手上有一個工作環境是安裝ARM Debian 7 (wesley), 而其內建Python 是3.2 版. 這版 Python 並沒有內建 pyvenv
程式. 這功能是python 3.3 以後才提供. 所以我只好自己編譯新的python 來使用. 我採用較普遍的python 3.4.4 版來使用.
所需套件
# apt-get install gcc g++ make
若要順便編譯pip 及 easy_install 的話, 就需要用apt 裝下列套件
# apt-get install python3-pip python3-setuptools
若還要編譯完整的Python modules, 那還需要下列套件
# apt-get install libreadline6 libreadline6-dev libsqlite3-dev libbz2-dev libncursesw5-dev tk-dev libgdbm-dev liblzma-dev
流程
下載python 3.4 source code
$ mkdir -p $HOME/arm_py3.4/src
$ cd $HOME/arm_py3.4/src
$ wget https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz
$ tar -zxvf Python-3.4.4.tgz
編譯及指定安裝目錄
cd $HOME/arm_py3.4/src/Python-3.4.4
./configure --prefix=$HOME/arm_py3.4/bin/py3.4
make && make install
做完上述步驟, 新的python3.4.4 被安裝在$HOME/arm_py3.4/bin/py3.4
, 因此需要設定PATH
來使用它.
$ export PATH=$HOME/arm_py3.4/bin/py3.4/bin:$PATH
上面的PATH 可以自行加入.bashrc
中, 以方便登入就可以使用.
使用 Python virtual environments
建立Python venv
$ cd $HOME/arm_py3.4
$ pyvenv-3.4 pyvenv
建好之後, 以後只要行如下指令就可以進入 Python virtual environment
$ source $HOME/arm_py3.4/pyvenv/bin/activate
$(pyvenv)
這時候提示符號會變成$(pyvenv)
, 表示已經在 Python virtual environment 下了. 然後就可以高興的使用pip, 或easy_install 等工具來安裝自己喜歡的套件而且完全獨立.
所安裝的任何套件都被放在$HOME/arm_py3.4/pyvenv/
裡面, 若不想用, 直接砍掉此目錄就好了, 乾乾淨淨, 不影響系統的任何東西.
若要離開virtual environment 只要執行deactivate
指令就可以離開 Python virtual environment
$(pyvenv) deactivate
$
採用shared library 方式來編譯
若要使用shared library 方式來編譯python, 則需要在編譯時加入--enable-shared
參數, 如下
cd $HOME/arm_py3.4/src/Python-3.4.4
./configure --prefix=$HOME/arm_py3.4/bin/py3.4 --enable-shared
make && make install
當編譯好之後, 除了要指定PATH 外, 還要讓系統能夠找到Library 的路徑. 方式有兩種, 其一是使用ldconfig
# echo $HOME/arm_py3.4/src/Python-3.4.4/lib > /etc/ld.so.conf.d/python3.4.4.conf
# ldconfig
其二是使用LD_LIBRARY_PATH
環境變數
$ export LD_LIBRARY_PATH=$HOME/arm_py3.4/src/Python-3.4.4/bib:$LD_LIBRARY_PATH