0

我是新來使用應用服務引擎和Python,我想不通爲什麼我不斷收到錯誤:ImportError: No module named tweepy導入錯誤,「無模塊命名tweepy」 - 谷歌的AppEngine

我把pip install tweepy==3.3.0到我的終端它說它是成功的。但是,它仍然表示無法找到該模塊。

我必須把它放到特定的文件夾嗎?如果是這樣,哪一個/我應該怎麼做?

更新:當我鍵入PIP顯示列表tweepy (3.3.0),但導入錯誤仍然存​​在

而且,我不知道這事,但我使用的Atom和MAC。在我的電腦,我想我有蟒蛇(3.6和2.7)

注意的兩個版本:當我現在pip install tweepy==3.3.0類型,所有它說的是: Requirement already satisfied: tweepy==3.3.0 in /Library/Python/2.7/site-packages Requirement already satisfied: six>=1.7.3 in /Library/Python/2.7/site-packages (from tweepy==3.3.0) Requirement already satisfied: requests-oauthlib>=0.4.1 in /Library/Python/2.7/site-packages (from tweepy==3.3.0) Requirement already satisfied: requests>=2.4.3 in /Library/Python/2.7/site-packages (from tweepy==3.3.0) Requirement already satisfied: oauthlib>=0.6.2 in /Library/Python/2.7/site-packages (from requests-oauthlib>=0.4.1->tweepy==3.3.0) Requirement already satisfied: idna<2.6,>=2.5 in /Library/Python/2.7/site-packages (from requests>=2.4.3->tweepy==3.3.0) Requirement already satisfied: certifi>=2017.4.17 in /Library/Python/2.7/site-packages (from requests>=2.4.3->tweepy==3.3.0) Requirement already satisfied: urllib3<1.23,>=1.21.1 in /Library/Python/2.7/site-packages (from requests>=2.4.3->tweepy==3.3.0) Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /Library/Python/2.7/site-packages (from requests>=2.4.3->tweepy==3.3.0)

更新:我也試圖導入神社並獲取導入錯誤

+0

所以你想知道爲什麼AppEngine無法看到你已經在本地安裝到你的電腦的模塊? – cowbert

+0

是的,爲什麼我的main.py文件找不到模塊?我是否必須像使用庫一樣向app.yaml添加內容? – Wes

+0

你在'app.yaml'的'runtime'中指定了哪個python?如果是python27,則需要確保使用python27的pip。您可以使用'pythonNN -m pip'來調用正確版本的pip。其中'NN'是版本(3x或27) – cowbert

回答

1

您可以將您的第三方庫添加到您的app.yaml

libraries: 
- name: PIL 
version: "1.1.7" 
- name: webob 
version: "1.1.1" 

看看這裏以供參考: Using third-party libraries

Python->Standard Environment僅限於該庫: Built-in Third-party Libraries

如果你需要一個更靈活的環境選擇Python->Flexible EnvironmentUsing Python Libraries

+0

我不知道它是否是一個庫。當我將它添加到app.yaml時,它表示'google.appengine.api.yaml_errors.EventError:不支持庫「tweepy」 ' – Wes

+0

如果您選擇「Python - >標準環境」,則僅限於此庫。 如果您需要更靈活的環境,請轉至「Python - > Flexible Environment」。參考:[使用Python庫](https://cloud.google.com/appengine/docs/flexible/python/using-python-libraries) –

+0

所以,我試圖將其更改爲靈活的環境。在我的app.yaml,我把'運行:蟒蛇 ENV:彎曲 入口點:gunicorn -b:$港主:應用 runtime_config: PYTHON_VERSION:3',但我仍然得到一個錯誤'google.appengine.tools .devappserver2.errors.InvalidAppConfigError:在dev_appserver,runtime:python不支持靈活的環境.' – Wes

0

你需要首先決定使用哪種GAE環境,因爲應用程序代碼和開發都是如此工作流程幾乎完全不同。從這裏開始:Choosing an App Engine Environment

另請注意,許多文檔只適用於一個環境或其他,但不是兩者。通常,適用的環境會反映在文檔頁面的URL路徑中(但並非總是如此!)。您可能會發現使用左側導航欄保留在同一個環境文檔中更容易。

如果您選擇標準環境,則需要符合更嚴格的sandbox restrictions。您可以使用第三方庫(只要它們滿足這些限制)中的2種方法之一:那麼你只request it使用the libraries: directive in app.yaml

  • 如果沒有的話

    如果不能滿足你留下了只有靈活的環境可供選擇,標準的環境限制,其中(而不是你做你的本地系統上!):

    • 使用第三方庫是不同的做法,看到Using Python Libraries
    • 在本地運行時做不同的(不能使用dev_appserver.py),見Running locally。您還需要在本地系統上安裝所有庫。
  • +0

    相關:https://stackoverflow.com/questions/45842772/how-to-tell-if-a-google-app-engine-documentation-page-applies-to-the-standard-or/45842773#45842773 –

    相關問題