欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Flask框架學(xué)習(xí)筆記(一)安裝篇(windows安裝與centos安裝)

 更新時(shí)間:2014年06月25日 09:37:33   投稿:hebedich  
Flask是一個(gè)輕量級(jí)的Web應(yīng)用框架, 使用Python編寫。Flask也被稱為 “microframework” ,因?yàn)樗褂煤?jiǎn)單的核心,用 extension 增加其他功能。

Flask 依賴于兩個(gè)外部庫(kù): Werkzeug  和  Jinja2  。 Werkzeug 是一個(gè) WSGI (在 web 應(yīng)用和多種服務(wù)器之間開發(fā)和部署的標(biāo)準(zhǔn) Python 接口) 的工具集,Jinja2 負(fù)責(zé)渲染模板。

一、安裝

Flask安裝的前提條件

1.已安裝python2.x版本

2.已安裝easy_install

在安裝flask之前,你必須要先安裝python和easy_install,easy_install只支持pyhon2.x版本不支持python3.x版本,所以你在安裝python的時(shí)候最好選擇python2.x。這里是2.7.

python2.7的安裝很簡(jiǎn)單,本站內(nèi)有很多篇文章介紹,這里不加描述,路徑任意,安裝完成加入環(huán)境變量便可。

win7 :

配置環(huán)境變量

方法一:(計(jì)算機(jī)-》屬性--》高級(jí)系統(tǒng)設(shè)置--》環(huán)境變量--》添加python安裝路徑)

方法二:cmd下

設(shè)置:set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

查看:echo %PATH%

easy_install安裝:

下載地址:http://pypi.python.org/pypi/setuptools

windows版本的只會(huì)有一個(gè) ez_setup.py 腳本,下載下來(lái)放在D:\Python\python2.7目錄下執(zhí)行,則會(huì)自動(dòng)安裝easy_install,目錄:D:\Python\python2.7\Scripts

easy_install加入環(huán)境變量:路徑為D:\Python\python2.7\Scripts

安裝好這兩個(gè)后則開始安裝flask

安裝 virtualenv,這個(gè)主要是用來(lái)做解釋器環(huán)境隔離的,避免同一機(jī)器上的多個(gè)python或者多個(gè)python的庫(kù)依賴

然后配置虛擬環(huán)境

然后cd到myvir目錄的Scripts下

輸入activate.bat,就進(jìn)入了虛擬環(huán)境了,然后輸入easy_install Flask安裝

測(cè)試結(jié)果,是否安裝成功:

在pycharm軟件中,要?jiǎng)?chuàng)建flask項(xiàng)目,然后選擇myvir中的python.exe運(yùn)行腳本。

創(chuàng)建簡(jiǎn)單hello world腳本,文件名為test1.py:

from flask import Flask
app=Flask(__name__)
@app.route('/')
def hello_world():
return "Hello World~~~"
if __name__ == '__main__':
app.run()

然后點(diǎn)擊運(yùn)行則會(huì)顯示

可以通過(guò)給出的網(wǎng)址進(jìn)行訪問(wèn)。注意:此時(shí)一直處于運(yùn)行狀態(tài),完成后要關(guān)閉該端口則點(diǎn)擊pycharm中的Run->stop。
默認(rèn)只有本地可以訪問(wèn),端口為5000.

最后一行修改為 app.run('0.0.0.0', 12345),就可以讓其它人訪問(wèn)了

解析:

from flask import Flask

導(dǎo)入 Flask 類

app = Flask(__name__)

實(shí)例化對(duì)象 app ,參數(shù)為應(yīng)用模塊或包的名稱,這里 __name__ 指的是 __main__ 主程序。這個(gè)參數(shù)是必需的,這樣  Flask  就可以知道在哪里找

到模板和靜態(tài)文件等東西。

@app.route("/")

使用 route() 裝飾器告訴 Flask 觸發(fā)函數(shù)的 URL 。可以自定義,如 @app.route("/test1.py"),訪問(wèn)時(shí)則后面要接文件名

def hello():

    return "Hello World!"

定義的函數(shù),用來(lái)生成相關(guān)聯(lián)的 URL ,并返回需要在用戶瀏覽器中顯示的信息。

app.run()

運(yùn)行服務(wù)器應(yīng)用,運(yùn)行后默認(rèn)只有本地可以訪問(wèn),如需讓其他連接,可以指定 host ,如: app.run(host='0.0.0.0')

默認(rèn)使用的端口是: 5000 ,可以使用自定義的主機(jī)和端口: app.run(host="0.0.0.0",port=8000)

可外部訪問(wèn)的服務(wù)器

如果你運(yùn)行服務(wù)器,你會(huì)注意到它只能從你自己的計(jì)算機(jī)上訪問(wèn),網(wǎng)絡(luò)中其它任何的地方都不能訪問(wèn)。這是在默認(rèn)情況,因?yàn)樵谡{(diào)試模式,用戶可以在你的計(jì)算機(jī)上執(zhí)行任意 Python 代碼。

如果你 禁用了  debug  或信任你所在網(wǎng)絡(luò)的用戶 ,你可以簡(jiǎn)單修改調(diào)用  run()  的方法使你的服務(wù)器公開可用,如下:

app.run(host='0.0.0.0')

這會(huì)讓操作系統(tǒng)監(jiān)聽所有公開的IP。

二、windows下安裝3.3版本的:

注意:如果默認(rèn)已經(jīng)安裝了2.7的,想安裝3.3的,則必須進(jìn)入到3.3安裝目錄內(nèi),然后運(yùn)行python ez_setup.py(ez_setup.py下載地址:https://pypi.python.org/pypi/setuptools)。

然后進(jìn)入到剛生成的scripts目錄下,執(zhí)行下面的命令安裝virtualenv。

同樣,產(chǎn)生虛擬環(huán)境的時(shí)候也要用3.3的virtualenv,否則報(bào)錯(cuò)。

然后cd到myvir目錄的Scripts下

輸入activate.bat,就進(jìn)入了虛擬環(huán)境了,然后輸入easy_install Flask安裝

三、centos6.4安裝python2.6的flask框架::

安裝執(zhí)行命令:

yum install openssh-server
python --version(查看是否是符合的版本)
yum install python-setuptools
easy_install virtualenv(系統(tǒng)默認(rèn)安裝了easy_install2.6)
virtualenv 

安裝完畢,你可以立即打開 shell 然后創(chuàng)建你自己的環(huán)境。

1.全局(不推薦):

easy_install Flask                全局安裝,下面有局部安裝的方法。

測(cè)試代碼:

from flask import Flask 
app = Flask(__name__) 
@app.route('/') 
def hello_world(): 
return "Hello World!" 
if __name__ == '__main__': 
app.run(host='0.0.0.0') 

文件存放的位置沒(méi)有要求,在任何地方都可以執(zhí)行。( 全局安裝)
從另外的服務(wù)器訪問(wèn):http://IP:5000的方式
然后其他的,比如模板渲染則同樣只需要在你的項(xiàng)目中創(chuàng)建templates文件夾的方式實(shí)現(xiàn)。

2.局部環(huán)境:

我通常創(chuàng)建一個(gè)項(xiàng)目文件夾,并在其下創(chuàng)建一個(gè) venv  文件夾

[root@localhost opt]# mkdir myweb

[root@localhost opt]#cd myweb

[root@localhost myweb]# virtualenv venv(注意:這里的venv目錄名字是自己設(shè)定的)
New python executable in venv/bin/python
Installing setuptools, pip...done.

現(xiàn)在,無(wú)論何時(shí)你想在某個(gè)項(xiàng)目上工作,只需要激活相應(yīng)的環(huán)境。

好處:

所有東西都已經(jīng)安裝在這個(gè)虛擬環(huán)境中了,因此你自已主要的Python安裝環(huán)境則不會(huì)受影響(可以同時(shí)支持幾個(gè)環(huán)境的使用)。附加的一個(gè)好處是,用這種方式來(lái)安裝時(shí)不需要root管理員權(quán)限。
遷移之后,執(zhí)行文件會(huì)因?yàn)楦淖兟窂綗o(wú)法使用,還是需要重新構(gòu)建環(huán)境。

在 OS X 和 Linux 上,執(zhí)行如下操作:

[root@localhost venv]# . bin/activate   #激活(每次運(yùn)行都有是激活狀態(tài))
(venv)[root@localhost venv]# 

下面的操作適用 Windows:

$ venv\scripts\activate

無(wú)論通過(guò)哪種方式,你現(xiàn)在應(yīng)該已經(jīng)激活了 virtualenv(注意你的 shell 提示符顯示的是活動(dòng)的環(huán)境)。

現(xiàn)在你只需要鍵入以下的命令來(lái)激活 virtualenv 中的 Flask:

(venv)[root@localhost venv]# pip install Flask             #只需開始執(zhí)行一次
......
Successfully installed Flask Werkzeug Jinja2 itsdangerous markupsafe
Cleaning up...

幾秒鐘后,一切都搞定了。
可能會(huì)出錯(cuò):

SSLError: The read operation timed out

Storing debug log for failure in /root/.pip/pip.log

這種錯(cuò)誤的話只要重新執(zhí)行該命令就可以了。

執(zhí)行. activate.csh可以退出 virtualenv(不知道是不是正確的方式,但確實(shí)可以退出)

四、centos下安裝python3.3的flask框架:

要是3.3的easy_install:

[root@localhost python3.3.3]# wget https://bootstrap.pypa.io/ez_setup.py
[root@localhost python3.3.3]# python3.3 ez_setup.py  (一定要指定3.3的執(zhí)行文件,不然會(huì)使用系統(tǒng)的默認(rèn)python)
[root@localhost python3.3.3]# easy_install

 此時(shí)補(bǔ)齊可看到版本

easy_install      easy_install-2.6  easy_install-3.3

然后后面的安裝跟2.6的步驟是一樣的,只是安裝的時(shí)候一定要指定確定的命令(3.3的還是2.6的)
安裝完成后,兩種版本互補(bǔ)影響,都有自己的虛擬環(huán)境,執(zhí)行自己環(huán)境內(nèi)的腳本。
之前安裝成功,后面在另外一臺(tái)服務(wù)器上安裝則報(bào)錯(cuò):

[root@www python3.3]# python3.3 ez_setup.py 
Extracting in /tmp/tmpj462kb
Traceback (most recent call last):
 File "ez_setup.py", line 332, in <module>
  sys.exit(main())
 File "ez_setup.py", line 329, in main
  return _install(archive, _build_install_args(options))
 File "ez_setup.py", line 51, in _install
  with archive_context(archive_filename):
 File "/usr/local/python3.3/lib/python3.3/contextlib.py", line 48, in __enter__
  return next(self.gen)
 File "ez_setup.py", line 101, in archive_context
  archive.extractall()
 File "/usr/local/python3.3/lib/python3.3/zipfile.py", line 1232, in extractall
  self.extract(zipinfo, path, pwd)
 File "/usr/local/python3.3/lib/python3.3/zipfile.py", line 1220, in extract
  return self._extract_member(member, path, pwd)
 File "/usr/local/python3.3/lib/python3.3/zipfile.py", line 1282, in _extract_member
  with self.open(member, pwd=pwd) as source, \
 File "/usr/local/python3.3/lib/python3.3/zipfile.py", line 1202, in open
  close_fileobj=not self._filePassed)
 File "/usr/local/python3.3/lib/python3.3/zipfile.py", line 649, in __init__
  self._decompressor = _get_decompressor(self._compress_type)
 File "/usr/local/python3.3/lib/python3.3/zipfile.py", line 612, in _get_decompressor
  return zlib.decompressobj(-15)
AttributeError: 'NoneType' object has no attribute 'decompressobj'
[root@www python3.3]# 

缺少相關(guān)模塊:
網(wǎng)上是通過(guò)下面的方式解決:

yum install build-essential libssl-dev libxml2-dev libbz2-dev libjpeg62-dev libreadline5-dev wv poppler-utils zlib1g zlib1g-dev zlibc libghc6-zlib-dev zlibc

但是我重新安裝了一次python再次運(yùn)行就沒(méi)錯(cuò)誤了。

但是安裝virtualenv的時(shí)候又出問(wèn)題了:

[root@www python3.3]# easy_install-3.3 virtualenv
Searching for virtualenv
Reading https://pypi.python.org/simple/virtualenv/
Download error on https://pypi.python.org/simple/virtualenv/: unknown url type: https -- Some packages may not be found!
Couldn't find index page for 'virtualenv' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.python.org/simple/
Download error on https://pypi.python.org/simple/: unknown url type: https -- Some packages may not be found!
No local packages or download links found for virtualenv
error: Could not find suitable distribution for Requirement.parse('virtualenv')
[root@www python3.3]#

后來(lái)直接找到提示的路徑(https://pypi.python.org/simple/virtualenv/)下載,也可以安裝:

[root@www python3.3]# wget https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.9.tar.gz#md5=e03b76752b8ce7eee67c6298414cac79
[root@www python3.3]# ls
bin ez_setup.py include lib setuptools-5.2.zip share virtualenv-1.9.tar.gz
[root@www python3.3]# easy_install-3.3 virtualenv-1.9.tar.gz
Processing virtualenv-1.9.tar.gz
Writing /tmp/easy_install-quwwll/virtualenv-1.9/setup.cfg
Running virtualenv-1.9/setup.py -q bdist_egg --dist-dir /tmp/easy_install-quwwll/virtualenv-1.9/egg-dist-tmp-xhue8r
warning: no previously-included files matching '*' found under directory 'docs/_templates'
warning: no previously-included files matching '*' found under directory 'docs/_build'
Adding virtualenv 1.9 to easy-install.pth file
Installing virtualenv script to /usr/local/python3.3/bin
Installing virtualenv-3.3 script to /usr/local/python3.3/bin
Installed /usr/local/python3.3/lib/python3.3/site-packages/virtualenv-1.9-py3.3.egg
Processing dependencies for virtualenv==1.9
Finished processing dependencies for virtualenv==1.9
[root@www python3.3]# vi
vi       vigr      virtualenv   virtualenv-3.3
view      vipw      virtualenv-2.6 visudo

安裝Flask的時(shí)候出現(xiàn)問(wèn)題:

AttributeError: 'module' object has no attribute 'HTTPSConnection'

其實(shí)歸根結(jié)底都是python沒(méi)有正常安裝,缺失了一些模塊造成的,所以安裝的時(shí)候一定要注意,如果沒(méi)裝好,那就重裝吧。
安裝python之前要安裝所有的開發(fā)工具包

[root@lujie ~]# yum groupinstall "Development tools"

[root@lujie ~]#yum install zlib-devel bzip2-devel openssl-devel ncurses-devel

五、總結(jié)安裝:

easy_install virtualenv和pip install virtualenv的區(qū)別?
easy_insall的作用和perl中的cpan, ruby中的gem類似,都提供了在線一鍵安裝模塊的傻瓜方便方式,而pip是easy_install的改進(jìn)版, 提供更好的提示信息,刪除package等功能。老版本的python中只有easy_install, 沒(méi)有pip。
easy_install的用法:

1) 安裝一個(gè)包

$ easy_install <package_name>

$ easy_install "<package_name>==<version>"

2) 升級(jí)一個(gè)包

$ easy_install -U "<package_name>>=<version>"

pip的用法

1) 安裝一個(gè)包

$ pip install <package_name>

$ pip install <package_name>==<version>

2) 升級(jí)一個(gè)包 (如果不提供version號(hào),升級(jí)到最新版本)

$ pip install --upgrade <package_name>>=<version>

3)刪除一個(gè)包

$ pip uninstall <package_name>

相關(guān)文章

  • 解決Python 中JSONDecodeError: Expecting value: line 1 column 1 (char 0)錯(cuò)誤

    解決Python 中JSONDecodeError: Expecting value:&n

    這篇文章主要介紹了解決Python 中JSONDecodeError: Expecting value: line 1 column 1 (char 0)錯(cuò)誤問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • PYTHON 中使用 GLOBAL引發(fā)的一系列問(wèn)題

    PYTHON 中使用 GLOBAL引發(fā)的一系列問(wèn)題

    這篇文章主要介紹了PYTHON 中使用 GLOBAL引發(fā)的一系列問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • Python的裝飾器詳情介紹

    Python的裝飾器詳情介紹

    這篇文章主要介紹了Python的裝飾器詳情,主要介紹裝飾器定以、調(diào)用方式等相關(guān)內(nèi)容,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-03-03
  • Python實(shí)現(xiàn)切割mp3片段并降低碼率

    Python實(shí)現(xiàn)切割mp3片段并降低碼率

    MoviePy是一個(gè)基于Python的視頻編輯庫(kù),它提供了創(chuàng)建、編輯、合并、剪輯和轉(zhuǎn)換視頻的功能,所以本文主要介紹如何使用moviepy來(lái)分割音頻流并降低碼率,感興趣的可以了解下
    2023-08-08
  • python如何進(jìn)行基準(zhǔn)測(cè)試

    python如何進(jìn)行基準(zhǔn)測(cè)試

    這篇文章主要介紹了python如何進(jìn)行基準(zhǔn)測(cè)試,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • Keras自定義實(shí)現(xiàn)帶masking的meanpooling層方式

    Keras自定義實(shí)現(xiàn)帶masking的meanpooling層方式

    這篇文章主要介紹了Keras自定義實(shí)現(xiàn)帶masking的meanpooling層方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • python最小生成樹kruskal與prim算法詳解

    python最小生成樹kruskal與prim算法詳解

    這篇文章主要為大家詳細(xì)介紹了python最小生成樹kruskal與prim算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 60行Python PyGame代碼實(shí)現(xiàn)簡(jiǎn)單的迷宮游戲

    60行Python PyGame代碼實(shí)現(xiàn)簡(jiǎn)單的迷宮游戲

    這篇文章主要為大家詳細(xì)介紹如何通過(guò)了60行Python PyGame代碼實(shí)現(xiàn)一個(gè)簡(jiǎn)單的迷宮游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2023-12-12
  • python基礎(chǔ)之基本運(yùn)算符

    python基礎(chǔ)之基本運(yùn)算符

    這篇文章主要介紹了python基本運(yùn)算符,實(shí)例分析了Python中返回一個(gè)返回值與多個(gè)返回值的方法,需要的朋友可以參考下
    2021-10-10
  • python神經(jīng)網(wǎng)絡(luò)InceptionV3模型復(fù)現(xiàn)詳解

    python神經(jīng)網(wǎng)絡(luò)InceptionV3模型復(fù)現(xiàn)詳解

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)InceptionV3模型復(fù)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>
    2022-05-05

最新評(píng)論