我用flask框架寫了一個簡單的后臺,項目是pycharm寫的,開發(fā)的時候虛擬環(huán)境是由pycharm自動配置的,項目目錄如下。
app
match
user
match和user是兩個藍圖,app的運行放在最頂級的manage.py當(dāng)中。
開發(fā)的時候沒有任何問題,pycharm能夠正常的調(diào)試,但準(zhǔn)備部署到服務(wù)器上時出現(xiàn)了問題。
采用Nginx + uWSGI 的方式部署,我用git將目錄下載到服務(wù)器后,新建虛擬環(huán)境
pip install -r requirtment.txt
安裝依賴環(huán)境。文件內(nèi)容如下:
aniso8601==3.0.0
certifi==2018.4.16
chardet==3.0.4
click==6.7
crcmod==1.7
Flask==0.12.2
Flask-RESTful==0.3.6
Flask-SQLAlchemy==2.3.2
idna==2.6
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
oss2==2.4.0
PyMySQL==0.8.0
pytz==2018.4
requests==2.18.4
six==1.11.0
SQLAlchemy==1.2.6
urllib3==1.22
Werkzeug==0.14.1
安裝完后pip安裝 uwsgi,新建配置文件如下:
[uwsgi]
socket = 127.0.0.1:8000
# 指向項目目錄
chdir = /data/Dudu/
plugins=python34
home = /data/Dudu/env/
vhost = true
no-site=true
# flask啟動程序文件
wsgi-file =manage.py
# flask在manage.py文件中的app名
callable = app
# 處理器數(shù)
processes = 1
# 線程數(shù)
threads = 2
#狀態(tài)檢測地址
uid = root
gid = root
nginx是之前配置好的,能夠502跳轉(zhuǎn)。
運行uwsgi,出錯
pythonpath=/data/Dudu/env/lib/python3.4/site-packages
*** Operational MODE: threaded ***
Traceback (most recent call last):
File "manage.py", line 1, in <module>
from app import app_create
File "./app/__init__.py", line 1, in <module>
from flask import Flask
ImportError: No module named 'flask'
unable to load app 0 (mountpoint='') (callable not found or import error)
各種查詢,加了一個設(shè)置:
added /data/Dudu/env/lib/python3.4/site-packages/ to pythonpath.
依然報錯:
added /data/Dudu/env/bin/python3 to pythonpath.
Traceback (most recent call last):
File "manage.py", line 1, in <module>
from app import app_create
File "./app/__init__.py", line 1, in <module>
from flask import Flask
File "/data/Dudu/env/lib/python3.4/site-packages/flask/__init__.py", line 17, in <module>
from werkzeug.exceptions import abort
File "/data/Dudu/env/lib/python3.4/site-packages/werkzeug/__init__.py", line 151, in <module>
__import__('werkzeug.exceptions')
File "/data/Dudu/env/lib/python3.4/site-packages/werkzeug/exceptions.py", line 67, in <module>
from werkzeug._internal import _get_environ
File "/data/Dudu/env/lib/python3.4/site-packages/werkzeug/_internal.py", line 12, in <module>
import string
ImportError: No module named 'string'
unable to load app 0 (mountpoint='') (callable not found or import error)
這兩天已經(jīng)看完了幾乎所有相關(guān)問題的解答,虛擬環(huán)境下各種包也是裝了又裝,依然沒有解決。服務(wù)器是centos,python3.4/2.7環(huán)境,之前運行過一個flask項目,能夠正常運行,現(xiàn)在就是找不到flask模塊,真的很迷。望各位大佬指教。
manage.py:
from app import app_create
app=app_create()
if __name__ == '__main__':
app.run(port = 8000)
~
app/__init__.py
from flask import Flask
import config
from .models import db
def app_create():
from .match import match as match_blueprint
from .user import user as user_blueprint
app = Flask(__name__)
app.config.from_object(config)
app.secret_key='1234'
db.init_app(app)
app.register_blueprint(match_blueprint)
app.register_blueprint(user_blueprint)
return app
~
大佬們,幫幫菜鳥,萬分感謝啊
第一種方法,把 uwsgi.ini
文件里的 =
兩邊的空格都去掉。
如果第一種方法不行,那么推薦你看看第二種的方法,也就是我的項目里的配置方法。
https://github.com/eastossifr...
還有可以參考我回答過的問題
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團,成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。