国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2019-11-25 18:21:56
字體:
來源:轉載
供稿:網友

Flask 依賴于兩個外部庫: Werkzeug  和  Jinja2  。 Werkzeug 是一個 WSGI (在 web 應用和多種服務器之間開發和部署的標準 Python 接口) 的工具集,Jinja2 負責渲染模板。

一、安裝

Flask安裝的前提條件

1.已安裝python2.x版本

2.已安裝easy_install

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

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

win7 :

配置環境變量

方法一:(計算機-》屬性--》高級系統設置--》環境變量--》添加python安裝路徑)

方法二:cmd下

設置:set PYTHONPATH=%PYTHONPATH%;C:/My_python_lib

查看:echo %PATH%

easy_install安裝:

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

windows版本的只會有一個 ez_setup.py 腳本,下載下來放在D:/Python/python2.7目錄下執行,則會自動安裝easy_install,目錄:D:/Python/python2.7/Scripts

easy_install加入環境變量:路徑為D:/Python/python2.7/Scripts

安裝好這兩個后則開始安裝flask

安裝 virtualenv,這個主要是用來做解釋器環境隔離的,避免同一機器上的多個python或者多個python的庫依賴

然后配置虛擬環境

然后cd到myvir目錄的Scripts下

輸入activate.bat,就進入了虛擬環境了,然后輸入easy_install Flask安裝

測試結果,是否安裝成功:

在pycharm軟件中,要創建flask項目,然后選擇myvir中的python.exe運行腳本。

創建簡單hello world腳本,文件名為test1.py:

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

然后點擊運行則會顯示

可以通過給出的網址進行訪問。注意:此時一直處于運行狀態,完成后要關閉該端口則點擊pycharm中的Run->stop。
默認只有本地可以訪問,端口為5000.

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

解析:

from flask import Flask

導入 Flask 類

app = Flask(__name__)

實例化對象 app ,參數為應用模塊或包的名稱,這里 __name__ 指的是 __main__ 主程序。這個參數是必需的,這樣  Flask  就可以知道在哪里找

到模板和靜態文件等東西。

@app.route("/")

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

def hello():    return "Hello World!"

定義的函數,用來生成相關聯的 URL ,并返回需要在用戶瀏覽器中顯示的信息。

app.run()

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

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

可外部訪問的服務器

如果你運行服務器,你會注意到它只能從你自己的計算機上訪問,網絡中其它任何的地方都不能訪問。這是在默認情況,因為在調試模式,用戶可以在你的計算機上執行任意 Python 代碼。

如果你 禁用了  debug  或信任你所在網絡的用戶 ,你可以簡單修改調用  run()  的方法使你的服務器公開可用,如下:

app.run(host='0.0.0.0')

這會讓操作系統監聽所有公開的IP。

二、windows下安裝3.3版本的:

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

然后進入到剛生成的scripts目錄下,執行下面的命令安裝virtualenv。

同樣,產生虛擬環境的時候也要用3.3的virtualenv,否則報錯。

然后cd到myvir目錄的Scripts下

輸入activate.bat,就進入了虛擬環境了,然后輸入easy_install Flask安裝

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

安裝執行命令:

yum install openssh-serverpython --version(查看是否是符合的版本)yum install python-setuptoolseasy_install virtualenv(系統默認安裝了easy_install2.6)virtualenv 

安裝完畢,你可以立即打開 shell 然后創建你自己的環境。

1.全局(不推薦):

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

測試代碼:

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') 

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

2.局部環境:

我通常創建一個項目文件夾,并在其下創建一個 venv  文件夾

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

現在,無論何時你想在某個項目上工作,只需要激活相應的環境。

好處:

所有東西都已經安裝在這個虛擬環境中了,因此你自已主要的Python安裝環境則不會受影響(可以同時支持幾個環境的使用)。附加的一個好處是,用這種方式來安裝時不需要root管理員權限。
遷移之后,執行文件會因為改變路徑無法使用,還是需要重新構建環境。

在 OS X 和 Linux 上,執行如下操作:

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

下面的操作適用 Windows:

$ venv/scripts/activate

無論通過哪種方式,你現在應該已經激活了 virtualenv(注意你的 shell 提示符顯示的是活動的環境)。

現在你只需要鍵入以下的命令來激活 virtualenv 中的 Flask:

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

幾秒鐘后,一切都搞定了。
可能會出錯:

SSLError: The read operation timed out

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

這種錯誤的話只要重新執行該命令就可以了。

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

四、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的執行文件,不然會使用系統的默認python)[root@localhost python3.3.3]# easy_install

 此時補齊可看到版本

easy_install      easy_install-2.6  easy_install-3.3

然后后面的安裝跟2.6的步驟是一樣的,只是安裝的時候一定要指定確定的命令(3.3的還是2.6的)
安裝完成后,兩種版本互補影響,都有自己的虛擬環境,執行自己環境內的腳本。
之前安裝成功,后面在另外一臺服務器上安裝則報錯:

[root@www python3.3]# python3.3 ez_setup.py Extracting in /tmp/tmpj462kbTraceback (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]# 

缺少相關模塊:
網上是通過下面的方式解決:

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再次運行就沒錯誤了。

但是安裝virtualenv的時候又出問題了:

[root@www python3.3]# easy_install-3.3 virtualenvSearching for virtualenvReading 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 virtualenverror: Could not find suitable distribution for Requirement.parse('virtualenv')[root@www python3.3]#

后來直接找到提示的路徑(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]# lsbin 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.gzProcessing virtualenv-1.9.tar.gzWriting /tmp/easy_install-quwwll/virtualenv-1.9/setup.cfgRunning virtualenv-1.9/setup.py -q bdist_egg --dist-dir /tmp/easy_install-quwwll/virtualenv-1.9/egg-dist-tmp-xhue8rwarning: 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 fileInstalling virtualenv script to /usr/local/python3.3/binInstalling virtualenv-3.3 script to /usr/local/python3.3/binInstalled /usr/local/python3.3/lib/python3.3/site-packages/virtualenv-1.9-py3.3.eggProcessing dependencies for virtualenv==1.9Finished processing dependencies for virtualenv==1.9[root@www python3.3]# vivi       vigr      virtualenv   virtualenv-3.3view      vipw      virtualenv-2.6 visudo

安裝Flask的時候出現問題:

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

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

[root@lujie ~]# yum groupinstall "Development tools"[root@lujie ~]#yum install zlib-devel bzip2-devel openssl-devel ncurses-devel

五、總結安裝:

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

1) 安裝一個包

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

2) 升級一個包

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

pip的用法

1) 安裝一個包

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

2) 升級一個包 (如果不提供version號,升級到最新版本)

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

3)刪除一個包

$ pip uninstall <package_name>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孝昌县| 霍州市| 于田县| 瑞丽市| 牡丹江市| 西峡县| 甘肃省| 兴宁市| 佛教| 洞头县| 苏州市| 紫金县| 仁怀市| 安塞县| 云阳县| 永泰县| 海盐县| 集安市| 大名县| 丹棱县| 永兴县| 鞍山市| 加查县| 墨竹工卡县| 三江| 平潭县| 霍山县| 金堂县| 远安县| 阜康市| 横山县| 永胜县| 温泉县| 加查县| 和平县| 四平市| 武陟县| 肃南| 新绛县| 利川市| 伊川县|