2015-10-27 9 views
7

मैं cx_freeze और esky के साथ एक ऐप बनाने की कोशिश कर रहा हूं। यह पहले काम कर रहा था (ठीक है, शायद कुछ महीने पहले। तब से, अजगर 3.5 बाहर चला गया)।'importlib._bootstrap' में कोई विशेषता नहीं है 'SourceLoader'

File "/usr/lib/python3.5/site-packages/esky/util.py", line 578, in compile_to_bytecode 
    loader = importlib._bootstrap.SourceLoader()  
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceLoader' 

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

  • अजगर 3.5.0
  • Esky 0.9.9 (नवीनतम) pypi
  • cx_freeze 4.3 से

    मैं निम्नलिखित अपवाद नहीं है। 4-2

और मैं मंजारो (लिनक्स) पर हूं। मैं यह नहीं समझ सकता कि समस्या कहां से आती है। क्या आप मुझे हाथ दे सकते हैं?

उत्तर

1

मम्म्म एक बग वहाँ स्रोत कोड देख हो सकता है: अगर है कि तब एक कम उपयोग करने का प्रयास काम करता है

loader = importlib._bootstrap_external.SourceLoader()

:

if sys.version_info[:2] < (3, 1): 
    bytecode = imp.get_magic() + struct.pack("<i", 0) 
    bytecode += marshal.dumps(compile(source_code, compile_filename, "exec")) 
elif sys.version_info[:2] < (3, 4): 
    bytecode = imp.get_magic() + struct.pack("<ii", 0, 0) 
    bytecode += marshal.dumps(compile(source_code, compile_filename, "exec")) 
else: 
    loader = importlib._bootstrap.SourceLoader()  
    code = loader.source_to_code(source_code, '<string>') 
    bytecode = importlib._bootstrap._code_to_bytecode(code, mtime=0, source_size=0) 

आप के साथ है कि लाइन को बदलने के लिए प्रयास कर सकते हैं 3.5 से संस्करण और उनके github मुद्दा पृष्ठ में एक बग सबमिट करें।

+0

हम, यह अभी भी काम नहीं करता है, लेकिन एक और कारण के लिए: '' 'AttributeError: मॉड्यूल 'importlib._bootstrap' एक ही फाइल की लाइन 580 में कोई विशेषता '_code_to_bytecode'''' है। थोड़ा बेहतर, हम आगे दो पंक्तियों को स्थानांतरित कर दिया :) – Rififi

+1

हां, क्योंकि उस लाइन को'bytecode = importlib._bootstrap_external._code_to_bytecode (कोड, mtime = 0, source_size = 0) – lapinkoira

+0

में बदलना होगा, यह सिर्फ एक हॉटफिक्स है, शायद अधिक चीजें काम नहीं करतीं, इसलिए मुझे लगता है कि यह python3.5 में थोड़ी छोटी गाड़ी है या इसमें कुछ समस्याएं हैं – lapinkoira

6

आज मैं इसी समस्या में भाग गया।

टर्मिनल में निम्न आदेशों को चलाने से मेरी समस्या हल हो गई।

➜ ~ pip install --upgrade pip 
➜ ~ pip install --upgrade virtualenvwrapper 
➜ ~ mkvirtualenv -p /usr/local/bin/python3 test_env 
संबंधित मुद्दे