Flask學習筆記(安裝篇)

weixin_34402408發表於2015-07-05

1、安裝Python2.7

之所以是2.7而不是3.x,因為大多數庫只支援2.x,裝3.x簡直就是作死。Windows安裝包最後有個選項問你是否設定執行環境,勾上,省略修改Path這一步。

2、安裝easy_install

這裡找到ez_setup.py指令碼,下載到本地,雙擊執行,一個DOS視窗閃了一下就裝好了。

3、安裝pip

開個DOS

easy_install pip

4、安裝virtualenv

pip install virtualenv

5、新建一個目錄,並在裡邊建立virtualenv環境,在DOS下

$ mkdir myproject

$ cd myproject

$ virtualenv venv

這時你建立的myproject資料夾裡面就多了一個venv資料夾

6、啟用虛擬環境

$ venv\scripts\activate

現在命令列前面多了個(venv)表示你在venv環境內

7、在virtualenv裡安裝Flask

pip install Flask

收工

另:據說安裝virtualenv會自動安裝pip,所以第3、4步可以合併為:

easy_install virtualenv

 參考資料:

funcscrollAtEdge(){//計算拖動檢視裡邊緣的距離,正比於滾動速度,並且判斷是往上還是往下滾動letpinTop = dragView.frame.origin.yletpinBottom =self.frame.height - (dragView.frame.origin.y + dragView.frame.height)varspeed:CGFloat=0varisTop:Bool=trueifpinTop <0{            speed = -pinTop            isTop =true}elseifpinBottom <0{            speed = -pinBottom            isTop =false}else{self.timer?.invalidate()self.timer =nilreturn}ifletoriginTimer =self.timer,originSpeed = (originTimer.userInfoas? [String:AnyObject])?["speed"]as?CGFloat{//計算滾動速度和原來相差是否過大,目的是防止頻繁的建立定時器而使滾動卡頓ifabs(speed - originSpeed) >10{                originTimer.invalidate()NSLog("speed:\(speed)")// 60fps,滾動才能流暢lettimer =NSTimer(timeInterval:1/60.0, target:self, selector: #selector(SortableCollectionView.autoScroll(_:)), userInfo: ["top":isTop,"speed": speed] , repeats:true)self.timer = timerNSRunLoop.mainRunLoop().addTimer(timer, forMode:NSRunLoopCommonModes)            }        }else{lettimer =NSTimer(timeInterval:1/60.0, target:self, selector: #selector(SortableCollectionView.autoScroll(_:)), userInfo: ["top":isTop,"speed": speed] , repeats:true)self.timer = timerNSRunLoop.mainRunLoop().addTimer(timer, forMode:NSRunLoopCommonModes)        }    }funcautoScroll(timer:NSTimer){ifletuserInfo = timer.userInfoas? [String:AnyObject] {iflettop =  userInfo["top"]as?Bool,speed = userInfo["speed"]as?CGFloat{//計算滾動位置,更新contentOffsetletoffset = speed /5letcontentOffset =self.contentOffsetiftop {self.contentOffset.y -= offsetself.contentOffset.y =self.contentOffset.y <0?0:self.contentOffset.y                }else{self.contentOffset.y += offsetself.contentOffset.y =self.contentOffset.y >self.contentSize.height -self.frame.height ?self.contentSize.height -self.frame.height  :self.contentOffset.y                }letpoint =CGPoint(x: dragView.center.x, y: dragView.center.y + contentOffset.y)//滾動過程中,拖拽檢視位置不變,因此手勢識別代理不會呼叫,需要手動呼叫移動itemself.moveItemToPoint(point)            }        }    }

Flask中文官網

Flask Web開發:基於Python的Web應用開發實戰

相關文章