2012-01-10 12 views
10

के साथ पहुंच योग्य नहीं है शायद यह एक बग है, लेकिन मैं वैसे भी यहां पोस्ट कर रहा हूं।IOError: [Errno 13] फ़ाइल Google AppEngine 1.6.1

मैं अपने स्थानीय AppEngine परीक्षण सर्वर पर निम्न समस्या मिलती है:

WARNING 2012-01-10 06:08:40,336 rdbms_mysqldb.py:90] The rdbms API is not available because the MySQLdb library could not be loaded. 
INFO  2012-01-10 06:08:40,470 appengine_rpc.py:159] Server: appengine.google.com 
INFO  2012-01-10 06:08:40,474 appcfg.py:561] Checking for updates to the SDK. 
INFO  2012-01-10 06:08:40,990 appcfg.py:574] Update check failed: HTTP Error 404: Not Found 
WARNING 2012-01-10 06:08:47,643 dev_appserver.py:3344] Could not initialize images API; you are likely missing the Python "PIL" module. ImportError: No module named _imaging 
INFO  2012-01-10 06:08:47,654 dev_appserver_multiprocess.py:638] Running application dev~project_name on port 8080: http://localhost:8080 
INFO  2012-01-10 06:08:47,654 dev_appserver_multiprocess.py:640] Admin console is available at: http://localhost:8080/_ah/admin 
INFO  2012-01-10 06:09:14,989 dev_appserver_index.py:338] Created 2 and deleted 0 index(es); total 2 
WARNING 2012-01-10 06:09:15,480 py_zipimport.py:139] Can't open zipfile /Users/ca/.pythonbrew/venvs/Python-2.7.2/project_name/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg: IOError: [Errno 13] file not accessible: '/Users/ca/.pythonbrew/venvs/Python-2.7.2/project_name/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg' 
ERROR 2012-01-10 06:09:16,927 bottle.py:746] Traceback (most recent call last): 
    File "/Users/ca/Dropbox/Perso/projects/project_name/Source/project_name/lib/bottle.py", line 735, in _handle 
    return route.call(**args) 
    File "/Users/ca/Dropbox/Perso/projects/project_name/Source/project_name/lib/bottle.py", line 1451, in wrapper 
    rv = callback(*a, **ka) 
    File "/Users/ca/Dropbox/Perso/projects/project_name/Source/project_name/tools.py", line 41, in render_to_response 
    template = jinja_env.get_template(template_name) 
    File "/Users/ca/.pythonbrew/venvs/Python-2.7.2/project_name/lib/python2.7/site-packages/jinja2/environment.py", line 719, in get_template 
    File "/Users/ca/.pythonbrew/venvs/Python-2.7.2/project_name/lib/python2.7/site-packages/jinja2/environment.py", line 693, in _load_template 
    File "/Users/ca/.pythonbrew/venvs/Python-2.7.2/project_name/lib/python2.7/site-packages/jinja2/loaders.py", line 115, in load 
    File "/Users/ca/.pythonbrew/venvs/Python-2.7.2/project_name/lib/python2.7/site-packages/jinja2/loaders.py", line 165, in get_source 
    File "/Users/ca/.pythonbrew/venvs/Python-2.7.2/project_name/lib/python2.7/site-packages/jinja2/utils.py", line 224, in open_if_exists 
    File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py", line 578, in __init__ 
    raise IOError(errno.EACCES, 'file not accessible', filename) 
IOError: [Errno 13] file not accessible: '/Users/ca/Dropbox/Perso/Projects/project_name/Source/project_name/templates/tools_list.html' 

INFO  2012-01-10 06:09:16,962 dev_appserver.py:2832] "GET/HTTP/1.1" 500 - 
INFO  2012-01-10 06:09:16,974 dev_appserver_index.py:255] Updating /Users/ca/Dropbox/Perso/projects/project_name/Source/project_name/index.yaml 
WARNING 2012-01-10 06:11:36,153 py_zipimport.py:139] Can't open zipfile /Users/ca/.pythonbrew/venvs/Python-2.7.2/project_name/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg: IOError: [Errno 13] file not accessible: '/Users/ca/.pythonbrew/venvs/Python-2.7.2/project_name/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg' 

मैं गलत हो सकता है, लेकिन ऐसा लगता है कि यह एक मुद्दा मैंने पहले नहीं रही थी। चूंकि Google ऐप इंजन 13 दिसंबर, 2011 को जारी किया गया था; मैं सोच रहा हूं कि यह इस संस्करण से आ सकता है।

मैं pythonbrew, virtualenv, मैक ओएस एक्स 10.6.8

आपकी मदद के लिए धन्यवाद का उपयोग कर रहा हूँ!

उत्तर

4
इसके बजाय मेरी चर संदर्भित एक हार्डकोडेड पथ वैरिएबल का उपयोग करने का

, अब मैं उपयोग कर रहा हूँ:

PROJECT_DIR = os.path.dirname(__file__) 

और यह काम कर रहा है। यदि समस्या वापस आती है तो मैं आपको बता दूंगा (मैंने कुछ लेखों को यादृच्छिक रूप से आवर्ती होने के रूप में वर्णित किया है)।

मैं भी http://code.google.com/p/googleappengine/issues/detail?id=4339

+0

कहाँ मैं इस PROJECT_DIR जोड़ सकता हूँ? –

+0

मेरे पास एक 'settings.py' है जिसे मैं उन सभी फ़ाइलों में आयात करता हूं जहां मुझे उन वैश्विक चरों तक पहुंचने की आवश्यकता है। – charlax

6

पर टिप्पणी 29 में पैच लागू किया, बस अपनी साइट संकुल से फाइल setuptools-0.6c11-py2.7.egg को हटा दें।

अपनी साइट संकुल

प्रारंभ अजगर CLI के स्थान का पता लगाएं:

python 

सूची साइट संकुल:

>>> import site; site.getsitepackages() 
13

मैं उसकी समस्या है, जो मैं अनुभव के लिए एक और उत्तर है अपने आप से। इस तरह

templates 
|-- css 
|-- img 
|-- js 
|-- html 

और अपने app.yaml फ़ाइल: आप उदाहरण के लिए इस तरह की एक टेम्पलेट्स निर्देशिका है, तो

- url: /templates 
    static_dir: templates 

यदि आप इस नाम का उपयोग jinja2 के साथ एक टेम्पलेट रेंडर करने के लिए सक्षम नहीं हैं:

JINJA_ENVIRONMENT.get_template('html/index.html') 

मुझे लगता है कि क्योंकि static_dir विकल्प किसी भी तरह jinja2 के लिए ब्लॉकों इस निर्देशिका, कम से कम मुझे ऐसा लगता है है, हो सकता है यह किसी को मदद करता है!

+5

हां, मुझे यह समस्या थी। जीएई वर्तमान में आवेदन कोड के भीतर से 'static_dir' में फ़ाइलों तक पहुंचने की अनुमति नहीं देता है। – MrD

+1

यह सिर्फ डिफ़ॉल्ट व्यवहार है। लेकिन इसे 'application_readable: true' विकल्प का उपयोग करके ओवरराइड किया जा सकता है, http://stackoverflow.com/a/16541092/4495081 –

0

मुझे इसी तरह के मुद्दे से परेशान किया गया है - IOError साइट-पैकेज से अंडे फ़ाइल/पैकेज आयात करते समय। मैं उबंटू 13.10, जीएई 1.8.8, वर्चुअलनव और पायथन 2.7 का उपयोग कर रहा हूं।

अंत में, मैंने काम किया है कि मैं easy_install का उपयोग करके स्थापित कुछ भी आयात नहीं कर सका (जो डिफ़ॉल्ट रूप से अंडा फ़ाइलों को साइट_पैकेज में डालता है)।

एक बार मैंने इन सभी अंडों को अनइंस्टॉल कर दिया, और पाइप का उपयोग करके पुनर्स्थापित किया कमांड स्थापित करें, सब कुछ सामान्य रूप से काम करना शुरू कर दिया।

उम्मीद है कि यह किसी और को बचाएगा, क्योंकि मुझे कभी भी बर्बाद घंटे नहीं मिलेगा।

0

कुछ मामलों में, यह त्रुटि dev_appserver.py लौटने के कारण खुली कॉल के लिए विफल होती है जब फ़ाइल नाम app.yaml में skip_files पैटर्न से मेल खाता है। Dev_appserver.py को स्थानीय रूप से चलाते समय भी app.yaml जांचें।

2

देर हो सकता है लेकिन शायद किसी और की मदद करेगा।
इसलिए, जब आप जोड़ने

jinja2.FileSystemLoader(os.path.join(os.path.dirname(__file__), 'templates')) 


- url: /templates static_dir: templates
अपने app.yaml फ़ाइल में शामिल न करें

+0

देखें या' application_readable: true' भी जोड़ें। http://stackoverflow.com/a/16541092/4495081 –

संबंधित मुद्दे