簡體   English   中英

具有PyCharm的Google App Engine Flask項目-sys.path.insert,virtualenv,網站程序包

[英]Google App Engine Flask Project with PyCharm - sys.path.insert, virtualenv, site-packages

我有一個帶有以下代碼的Hello World項目:

import sys
import os
sys.path.insert(1, os.path.join(os.path.abspath('.'), 'venv/lib/python2.7/site-packages'))

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

前三行是必需的,否則我會在控制台中收到此錯誤消息

from flask import Flask
ImportError: No module named flask

前三行,特別是sys.path.insert,有點難看-是否有另一種方法可以設置站點包的系統路徑,而不必在代碼中以這種方式聲明?

我正在使用virtualenv,以防萬一。

您應該使用vendoring機制建立的App Engine應用程序的第三方庫。 無需修改文件中的sys.path 直接在應用程序根目錄中創建lib目錄,並通過appengine_config.py文件告訴您的應用程序如何在此目錄中查找庫。

from google.appengine.ext import vendor

# Add any libraries installed in the "lib" folder.
vendor.add('lib')

將pip與-t lib標志一起使用可在此目錄中安裝庫。

$ pip install -t lib [lib-name]

要么

$ pip install -t lib -r requirements.txt

看看這個答案。

刪除sys.path.insert

PyCharm->首選項->項目解釋器->單擊Gear Icon->添加本地-> <browse to your virtualenv> / bin / python->確定

現在,當您通過右鍵單擊flaskapp.py運行項目時->運行,請確保虛擬環境已附加到該項目上,方法是單擊向下箭頭->編輯配置->檢查Python interpreter程序您之前指定的virtualenv由PyCharm實際使用。

在此處輸入圖片說明 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM