在centos上操做html
# yum install curl git-corepython
# curl -L https://raw.github.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bashlinux
這個命令會把pyenv安裝到當前用戶的 ~/.pyenv目錄下.c++
同時, 咱們還須要把下面代碼存到~/.bashrc文件中:git
# vim ~/.bashrcgithub
export PYENV_ROOT="${HOME}/.pyenv"sql
if [ -d "${PYENV_ROOT}" ] ; thenubuntu
export PATH="${PYENV_ROOT}/bin:${PATH}"vim
eval "$(pyenv init -)"centos
fi
這段代碼的做用主要是指明pyenv的位置, 以便之後能夠直接在命令行裏面運行pyenv命令。 保存在~/.bashrc 文件中是爲了每次用戶登錄後自動生效。因此若是你是第一次運行命令而且沒有註銷的話, 這一段是不會生效的, 咱們還須要運行下面的命令令其生效
# source ~/.bashrc
而後就能夠直接在命令行裏面敲pyenv了。
首先咱們能夠查看一下有哪些版本的python 能夠安裝
# pyenv install --list
接下來, 咱們安裝 python3.5.3版本
# pyenv install 3.5.3
安裝完畢後, 咱們能夠查看安裝的狀況
(修改增長:
(若是安裝過程出現相似以下錯誤:
checking for--enable-universalsdk... nochecking for --with-universal-archs... 32-bitchecking MACHDEP... linuxchecking for --without-gcc... nochecking for gcc... nochecking for cc... nochecking for cl.exe... no)
緣由是 源碼編譯,提示缺乏gcc cc cl.exe解決方案centos:
yum install -y gcc glibc
yum -y install gcc+ gcc-c++
ubuntu:apt-get update gccapt-get install g++
繼續安裝 若出現相似以下:
Installing Python-3.4.4...
WARNING: The Python bz2 extension was not compiled.Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled.Missing the GNU readline lib?
ERROR: The Python ssl extension was not compiled. Missingthe OpenSSL lib?
Please consult to the Wiki page to fix the problem.https://github.com/yyuu/pyenv/wiki/Common-build-problems BUILD FAILED (CentOSLinux 7 using python-build 20160509-25-g4c654d7) Inspect or clean up theworking tree at /tmp/python-build.20160607105740.3166 Results logged to/tmp/python-build.20160607105740.3166.log Last 10 log lines: (cd/root/.pyenv/versions/3.4.4/share/man/man1; ln -s python3.4.1 python3.1) if test"xupgrade" != "xno" ; then \ case upgrade in \ upgrade)ensurepip="--upgrade" ;; \ install|*) ensurepip="" ;; \ esac;\ ./python -E -m ensurepip \ $ensurepip --root=/ ; \ fi Ignoring ensurepipfailure: pip 7.1.2 requires SSL/TLS
則安裝以下依賴:
yum install readline readline-devel readline-static -y
yum install openssl openssl-devel openssl-static -y
yum install sqlite-devel -y
yum install bzip2-devel bzip2-libs -y
出現以上問題可參考(http://blog.sina.com.cn/s/blog_76923bd80102w9zw.html;http://blog.csdn.net/foryouslgme/article/details/51683654;https://www.jianshu.com/p/228cd025a368;)繼續安裝python安裝完畢!
)
# pyenv versions
輸出結果以下:
* system (set by /home/tony/.pyenv/version)
3.5.3
*指向的表明當前使用的版本,經過下面命令來進行版本切換
# pyenv global 3.5.3
若是要卸載某個版本的python, 能夠這樣:
# pyenv uninstall x.x.x
如今咱們已經安裝了多個python版本,可是這還不夠, 這時候咱們可使用virtualenv來建立虛擬python環境
virtualenv本是一個獨立的工具,官網在這裏:https://pypi.python.org/pypi/virtualenv
幸運的是,若是你是安裝咱們前面的方式安裝pyenv的,那它已經幫咱們以plugin的形式安裝好了virtualenv, 咱們只要使用就行了
首先咱們建立一個3.5.3的虛擬環境
# pyenv virtualenv 3.5.3 env35
這條命令在本機上建立了一個名爲env35的python虛擬環境,這個環境的真實目錄位於:~/.pyenv/versions/
注意,命令中的 ‘3.5.3’ 必須是一個安裝前面步驟已經安裝好的python版本, 不然會出錯。
而後咱們能夠繼續經過 ‘pyenv versions’ 命令來查看當前的虛擬環境, 結果以下:
* system (set by /home/tony/.pyenv/version)2.7.1
3.5.3
env35
這裏咱們能夠看到, 除了已經安裝的python版本, 咱們多出了一個env35的python虛擬環境
切換到新的虛擬環境的命令爲
# pyenv activate env35
接下來咱們的python環境就已經切換到3.5.3的虛擬環境了, 運行 ‘python’ 命令認證
(env35)tony@ubuntu:~$ python
Python3.5.3(r271:86832, May92014,01:07:17)
[GCC4.8.2] on linux3
Type"help","copyright","credits"or"license"formoreinformation.>>>
能夠看到, python版本已是3.5.3 並且是在虛擬環境之中 (env35)
下面基本上你就能夠在這個虛擬環境裏面隨心所欲了 :) 不再用擔憂系統路徑被搞亂的問題了。
若是要切換回系統環境, 運行這個命令便可
# pyenv deactivate
那若是要刪除這個虛擬環境呢? 答案簡單並且粗暴,只要直接刪除它所在的目錄就好:
# rm -rf ~/.pyenv/versions/env35/
至此環境搭建大功告成!
上面安裝的Python版本自帶pip安裝工具,,以下項目使用虛擬環境env35,項目目錄以下
先啓動虛擬環境,而後切換到項目目錄下,進行pip安裝
# pyenv activate env35
# cd 項目目錄
# pip install -r requirements.txt
安裝完各個依賴庫後,進行以下命令啓動該項目
python manage.py runserver -h 0.0.0.0 -p 8080 -threaded