Flaskフレームワーク学習ノート(一)インストール編(windowsインストールとcentosインストール)

11599 ワード

Flaskは、WerkzeugとJinja 2の2つの外部ライブラリに依存します.WerkzeugはWSGI(Webアプリケーションと複数のサーバ間で開発および導入された標準Pythonインタフェース)のツールセットで、Jinja 2はテンプレートのレンダリングを担当します.
一、据付
Flaskインストールの前提条件
1.python 2がインストールされています.xバージョン
2.easy_がインストールされましたinstall
flaskをインストールする前にpythonとeasyをインストールする必要があります.install,easy_installはpyhon 2のみをサポートします.xバージョンではpython 3はサポートされていません.xバージョンなので、pythonをインストールするときはpython 2を選択したほうがいいです.x.ここで2.7.1
python2.7のインストールはとても简単で、当サイト内には多くの文章が绍介して、ここでは说明を加えないで、経路は任意で、インストールは环境変数に参加することができます.
win7 :
環境変数の設定
方法1:(コンピュータ-)プロパティ--『高度なシステム設定--』環境変数--』pythonインストールパスの追加)
方法2:cmd下
設定:set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib
表示:echo%PATH%
easy_インストール:
ダウンロード先:http://pypi.python.org/pypi/setuptools
Windowsバージョンにはezが1つしかありません.setup.pyスクリプト、ダウンロードしてD:Pythonpython 2に置きます.7ディレクトリで実行するとeasy_が自動的にインストールされます.install,ディレクトリ:D:Pythonpython 2.7\Scripts
easy_インストール環境変数:パスD:Pythonpython 2.7\Scripts
この2つをインストールしたらflaskのインストールを開始します
virtualenvをインストールします.これは主に解釈器環境の分離に使用され、同じマシン上の複数のpythonまたは複数のpythonのライブラリ依存性を回避します.
仮想環境の設定
そしてcdはmyvirディレクトリのScriptsの下に
入力bat、仮想環境に入り、easy_を入力します.インストールFlaskインストール
テストの結果、インストールに成功したかどうか:
pycharmソフトウェアでflaskプロジェクトを作成し、myvirのpythonを選択します.exeスクリプトを実行します.
簡単なhello worldスクリプトを作成します.ファイル名はtest 1です.py:

from flask import Flask
app=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("/test 1.py")は、アクセス時にファイル名を受け取る

def hello():

    return "Hello World!"

関連するURLを生成し、ユーザーブラウザに表示する必要がある情報を返すために定義された関数.
app.run()
サーバアプリケーションを実行します.実行後、デフォルトではローカルのみがアクセスできます.他の接続が必要な場合は、appなどのhostを指定できます.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の下に
入力bat、仮想環境に入り、easy_を入力します.インストールFlaskインストール
三、centos 6.4 python 2をインストールします.6のflaskフレーム:
実行コマンドのインストール:

yum install openssh-server
python --version(          )
yum install python-setuptools
easy_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/python
Installing 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 markupsafe
Cleaning up...

数秒後、すべてが終わった.エラーが発生する可能性があります.
SSLError: The read operation timed out
Storing debug log for failure in/root/.pip/pip.log
このようなエラーは、このコマンドを再実行すればよい.
を実行します.activate.cshはvirtualenvを終了できます(正しい方法かどうかはわかりませんが、確かに終了できます)
四、centosの下にpython 3をインストールする.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のものか)を指定してインストールが完了した後、2つのバージョンの相補的な影響は、自分の仮想環境があり、自分の環境内のスクリプトを実行します.以前は正常にインストールされていましたが、後で別のサーバにインストールするとエラーが発生しました.

[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 
  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 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]#


その後、ヒントのパスが直接見つかりました(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のインストール中に問題が発生:
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 

$ easy_install "=="


2)パッケージのアップグレード

$ easy_install -U ">="


pipの使い方
1)パッケージのインストール

$ pip install 

$ pip install ==


2)パッケージをアップグレードします(バージョン番号が指定されていない場合は、最新バージョンにアップグレードします).

$ pip install --upgrade >=


3)パッケージの削除

$ pip uninstall