2013-04-03 3 views
11

sau khi runing mã này, tôi tìm thấy lỗi nhập khẩu: -python Lỗi nhập "Không mô-đun tên appengine.ext"

from google.appengine.ext import webapp 
from google.appengine.ext.webapp.util import run_wsgi_app 

class MainPage(webapp.RequestHandler): 
    def get(self): 
     self.response.headers['Content-Type'] = 'text/plain' 
     self.response.out.write('Hello, webapp World!') 

application = webapp.WSGIApplication([('/', MainPage)],debug=True) 

def main(): 
    run_wsgi_app(application) 

if __name__ == "__main__": 
    main() 

làm thế nào để sử dụng google.apengine.ext

+0

Bạn đã cài đặt nó như thế nào? Kiểm tra xem nó trên PYTHONPATH của bạn. – StoryTeller

+0

Nếu bạn đang cố gắng chạy nó trong môi trường Python tương tác, bạn sẽ phải sửa đổi sys.path như đã đề cập trong phần bình luận bên dưới. Nếu bạn định phục vụ ứng dụng web thì bạn nên chạy ứng dụng của mình bằng cách sử dụng dev_appserver.py. Lệnh sẽ là /platform/google_appengine/dev_appserver.py app.yaml –

+0

Tôi không biết tại sao bạn xóa câu trả lời của mình. Tôi đã có chính xác cùng một lỗi và có tập tin google.py gây ra vấn đề này. Vì vậy, đối với tôi là câu trả lời. Có thể là không trả lời cho trường hợp chính xác của bạn, nhưng đó là câu trả lời cho trường hợp của tôi. Ngoài ra tôi đã hoàn toàn cùng một thông báo như lỗi: "lỗi nhập khẩu python" Không có mô-đun có tên appengine.ext ", vì vậy vui lòng trả lời câu trả lời của tôi trở lại. Trân trọng! – makkasi

Trả lời

9

Dường như App Engine SDK chưa được cài đặt, hoặc ít nhất thời gian chạy Python không thể tìm thấy nó.

đọc và làm theo các hướng dẫn tại đây: https://cloud.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python

Họ nói với bạn, làm thế nào để cài đặt App Engine SDK cho Python.

+7

Xin chào, tôi đã làm theo hướng dẫn trên liên kết bạn đã chỉ định, vẫn còn lỗi –

+2

@NamitaMaharanwar Tôi chạy lệnh sau thông qua Terminal (Tôi đang sử dụng Mac): 'export PYTHONPATH =" $ PYTHONPATH:/usr/local/google_appengine:/usr/local/google_appengine/lib /:/usr/local/google_appengine/lib/yaml/"'. Bạn phải cấu hình đường dẫn đến thư viện –

+0

Có, chính xác. Thiết lập PYTHONPATH bị thiếu trong các bước mà tôi đã làm theo. Xong. –

5

Hãy thử:

import google 
print google.__path__ 

để xem chính xác những gì bạn đang nhập khẩu.

+1

>>> nhập google Traceback (cuộc gọi gần đây nhất): Tệp "", dòng 1, trong ImportError: Không có mô-đun tên google >>> print google .__ path__ Traceback (gần đây nhất gọi cuối cùng): File "", dòng 1, trong NameError: Tên 'google' không được định nghĩa – TSR

5
import sys 
sys.path.insert(1, '/Users/<username>/google-cloud-sdk/platform/google_appengine') 
sys.path.insert(1, '/Users/<username>/google-cloud-sdk/platform/google_appengine/lib/yaml/lib') 
sys.path.insert(1, 'lib') 

if 'google' in sys.modules: 
    del sys.modules['google'] 

này giải quyết được những vấn đề đối với tôi

+0

làm bạn ở đâu đặt mã này chính xác? Có phải trong tệp 'appengine_config.py' hoặc ở nơi khác không? – Y2H

+0

Mã này sẽ được đặt ở đầu phương thức thực thi chính của bạn, nó sẽ thêm tham chiếu đến gói GAE. Đây cũng là một mã cũ, mọi thứ đã thay đổi kể từ lần cuối tôi viết nó. – varun

1

Tôi có vấn đề này cùng vì tôi PIP cài đặt gcloud trước khi tải về và cài đặt SDK. Việc cài đặt pip tạo ra một gói python google mà không chứa submodule appengine (được tìm thấy trong thư mục SDK). Tôi đã gỡ cài đặt các gói gcloud và các gói liên quan. Sau đó, chỉ cần pip cài đặt google-cloud-bigquery đó là gói duy nhất tôi cần từ gcloud. Tất cả mọi thứ hoạt động tốt ngay bây giờ.

0

kiểm tra xem bạn có đặt tên một số tệp google.py :) trong cùng một gói hay không, vì điều này có thể làm tối nhập khẩu google.appengine.ext. Tôi đã gặp lỗi tương tự:

python import error “No module named appengine.ext” 

và xóa tệp đã giải quyết được sự cố.

+2

Điều này không cung cấp câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ tác giả, hãy để lại nhận xét bên dưới bài đăng của họ. - [Từ đánh giá] (/ đánh giá/bài đăng chất lượng thấp/16810750) –