2014-07-31

centos6 下如何安裝 pyenv?

在 centos6 下要如何安裝 pyenv?
 
首先安裝程式開發需要用到的套件
#yum install -y gcc gcc-c++ make git patch openssl-devel zlib-devel readline-devel sqlite-devel bzip2-devel
再來切換到個人帳號的家
#cd
下載 pyenv 到 home/.pyenv
#git clone git://github.com/yyuu/pyenv.git ~/.pyenv
為了讓啟動自我環境時即啟動 pyenv, 故在 ~/.bashrc 下新增以下指令
#nano ~/.bashrc
到最底下新增底下幾行指令
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)"
然後退出 terminal, 再重新登入(或重開)
打以下指令看是否正常
#pyenv install --list
若有列出一堆可安裝的 python 套件表示安裝成功
至於詳細的指令可參考這篇: virtualenv and pyevn 指令小記
 
 
 
安裝完後, 先不用太高興, 未來你有可能會需要跟 mod_wsgi 連結. 當你 compile 
mod_wsgi 時可能會遇到類似以下訊息:
/usr/bin/ld: /var/.pyenv/versions/3.4.1/lib/libpython3.4m.a(abstract.o): relocation R_X86_64_32S against `_PyObject_NextNotImplemented' can not be used when making a shared object; recompile with -fPIC
/var/.pyenv/versions/3.4.1/lib/libpython3.4m.a: could not read symbols: Bad value
它提醒你重新 compile python w/ -fPIC 及  '--enable-shared' 
可是 pyenv 的 python 是提供者早 compile 好的啊, 我怎麼樣才能重新 compile 呢?
別擔心, pyenv 作者提供了一個新功能就是 PYTHON_CONFIGURE_OPTS, 只要你在 PYTHON_CONFIGURE_OPTS 下參數 "--enable-shared"即可
 

[root@ursystem]# pyenv versions
  system
  3.2.5
* 3.4.1 (set by /var/.pyenv/version)
[root@ursystem]# pyenv uninstall 3.4.1
pyenv: remove /var/.pyenv/versions/3.4.1? y
[root@ursystem]# env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.4.1
Downloading Python-3.4.1.tgz...
-> http://yyuu.github.io/pythons/8d007e3ef80b128a292be101201e75dec5480e5632e994771e7c231d17720b66
Installing Python-3.4.1...
Installed Python-3.4.1 to /var/.pyenv/versions/3.4.1
 
然後安裝 mod_wsgi 就沒問題囉
[user@ursystem mod_wsgi-4.1.3]$ sudo make
..... 略
[user@ursystem mod_wsgi-4.1.3]$ sudo make install 
..... 略 
[user@ursystem mod_wsgi-4.1.3]$ sudo apachectl start
[user@ursystem mod_wsgi-4.1.3]$  
 
 

沒有留言:

張貼留言