pyenv使用python
主要仍是作一個記錄,簡單介紹一下pyenv的用法。有不妥的地方,高手請指正。linux
這是我當前系統python
版本,nginx
#pyenv versions * system (set by /root/.pyenv/version) 2.7.9
使用的是python2.6.6
web
#python -V Python 2.6.6
建立一個python 2.7.9
的環境,名字叫site
apache
#pyenv virtualenv 2.7.9 site New python executable in /root/.pyenv/versions/site/bin/python2.7 Also creating executable in /root/.pyenv/versions/site/bin/python Installing setuptools, pip...done. Ignoring indexes: https://pypi.python.org/simple/ Requirement already satisfied (use --upgrade to upgrade): setuptools in /root/.pyenv/versions/site/lib/python2.7/site-packages Requirement already satisfied (use --upgrade to upgrade): pip in /root/.pyenv/versions/site/lib/python2.7/site-packages Cleaning up... #pyenv versions * system (set by /root/.pyenv/version) 2.7.9 site
建立一個工做目錄/workspace/site
,並將site
寫到這個目錄下的一個隱藏文件.python-version
文件裏,這樣當你每次進入這個目錄的時候,將會自動執行activate site
啓動你這個項目所須要調用的python環境,當你退出這個目錄時,也會自動執行deactivate site
。=^_^= 很方便吧~!flask
#mkdir -p /workspace/site #echo site > /workspate/site/.python-version #cd /workspace/site/ pyenv-virtualenv: activate site (site) #python -V Python 2.7.9 (site) #cd .. pyenv-virtualenv: deactivate site #python -V Python 2.6.6
如今咱們來安裝flask
,原本打算跟上一篇同樣一次部署一堆模塊,可是想一想仍是一點點來吧,穩紮穩打。
稍微提醒一下,安裝任何模塊儘可能在你要運行的環境中安裝,避免模塊裝錯環境的狀況。安裝完之後進入python
,並import flask
檢測是否導入成功。app
#pip install Flask==0.10.1 Collecting Flask==0.10.1 Using cached Flask-0.10.1.tar.gz Collecting Werkzeug>=0.7 (from Flask==0.10.1) Using cached Werkzeug-0.10.4-py2.py3-none-any.whl Collecting Jinja2>=2.4 (from Flask==0.10.1) Using cached Jinja2-2.7.3.tar.gz Collecting itsdangerous>=0.21 (from Flask==0.10.1) Using cached itsdangerous-0.24.tar.gz Collecting markupsafe (from Jinja2>=2.4->Flask==0.10.1) Using cached MarkupSafe-0.23.tar.gz Installing collected packages: Werkzeug, markupsafe, Jinja2, itsdangerous, Flask Running setup.py install for markupsafe Running setup.py install for Jinja2 Running setup.py install for itsdangerous Running setup.py install for Flask Successfully installed Flask-0.10.1 Jinja2-2.7.3 Werkzeug-0.10.4 itsdangerous-0.24 markupsafe-0.23 (site) #python Python 2.7.9 (default, Feb 10 2015, 01:40:34) [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import flask >>>
一個最小的應用python2.7
這是官方文檔提供的代碼curl
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()
編輯一個run.py
文件,並把官方給的代碼抄上,這裏給了一個提示這裏文件的命名不要叫flask.py
,避免導入模塊時,把當前flask.py
當成模塊導進去。測試
#python run.py * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) #curl 'http://127.0.0.1:5000' Hello World!(site) #curl "http://192.168.1.21:5000" curl: (7) couldn't connect to host
應用已經跑起來了,中止服務直接CTRL+C
就能夠了,如今只是跑在本地的5000
端口上,因此你只能經過127.0.0.1:5000
本地進行訪問,從上邊測試能夠看到經過網卡配置的192.168.1.21
是沒法進行訪問的。你可使用一些web服務進行代理轉發(例如:apache,nginx)
,也能夠對run()
啓動參數進行修改,使其監聽全部ip
地址
app.run(host='0.0.0.0', port=80, debug=True)
咱們傳遞三個參數過去host
配置0.0.0.0
,意思是全部ip
均可以進行訪問,服務端口是80
,開啓debug
模式。重啓服務
#python run.py * Running on http://0.0.0.0:80/ (Press CTRL+C to quit) * Restarting with stat
能夠看到服務啓動後的運行提示都變了,這樣咱們就職意訪問了。
#curl "http://127.0.0.1" Hello World! #curl "http://192.168.1.21" Hello World! #