2012-07-20 17 views
13

मैं इस IP12thon नियम को सभी वर्चुअलनव्स बनाने के लिए इस post का पालन कर रहा हूं।सामान्य रूप से IPython आयात विफलता और पायथन sys.path

जो मैं समझता हूं उससे, पोस्ट का मुख्य विचार यह है कि जब वर्चुअलनेव में, ipython को इसके मॉड्यूल नहीं मिल पा रहे हैं।

(a-virtualenv)[email protected]:~$ ipython 
Traceback (most recent call last): 
    File "/usr/bin/ipython", line 19, in <module> 
    from IPython.frontend.terminal.ipapp import launch_new_instance 
ImportError: No module named IPython.frontend.terminal.ipapp 

इस हल करने के लिए, मैं अपने/usr/bin में जोड़ना/IPython

import sys 
if "/usr/lib/python2.7/dist-packages" not in sys.path: 
    sys.path.append("/usr/lib/python2.7/dist-packages") 

यह चाल Balthazar के लिए काम करता है। लेकिन मेरे मामले में, मैं इस

Traceback (most recent call last): 
    File "/usr/bin/ipython", line 18, in <module> 
    from IPython.frontend.terminal.ipapp import launch_new_instance 
    File "/usr/lib/python2.7/dist-packages/IPython/__init__.py", line 46, in <module> 
    from .frontend.terminal.embed import embed 
    File "/usr/lib/python2.7/dist-packages/IPython/frontend/terminal/embed.py", line 37, in <module> 
    from IPython.frontend.terminal.ipapp import load_default_config 
    File "/usr/lib/python2.7/dist-packages/IPython/frontend/terminal/ipapp.py", line 38, in <module> 
    from IPython.core.completer import IPCompleter 
    File "/usr/lib/python2.7/dist-packages/IPython/core/completer.py", line 84, in <module> 
    from IPython.utils import generics 
    File "/usr/lib/python2.7/dist-packages/IPython/utils/generics.py", line 19, in <module> 
    from IPython.external.simplegeneric import generic 
    File "/usr/lib/python2.7/dist-packages/IPython/external/simplegeneric/__init__.py", line 4, in <module> 
    from _simplegeneric import * 
ImportError: No module named _simplegeneric 

मैं शायद सोचा था कि मैं के रूप में अच्छी /usr/bin/ipython में sys.path को /usr/lib/python2.7/dist-packages/IPython/external जोड़ना चाहिए मिलता है। क्या मैं IPython/__init__py की लाइन 43 पर

Traceback (most recent call last): 
    File "/usr/bin/ipython", line 18, in <module> 
    from IPython.frontend.terminal.ipapp import launch_new_instance 
    File "/usr/lib/python2.7/dist-packages/IPython/__init__.py", line 43, in <module> 
    from .config.loader import Config 
    File "/usr/lib/python2.7/dist-packages/IPython/config/loader.py", line 27, in <module> 
    from IPython.utils.path import filefind, get_ipython_dir 
    File "/usr/lib/python2.7/dist-packages/IPython/utils/path.py", line 24, in <module> 
    from IPython.utils.process import system 
    File "/usr/lib/python2.7/dist-packages/IPython/utils/process.py", line 27, in <module> 
    from ._process_posix import _find_cmd, system, getoutput, arg_split 
    File "/usr/lib/python2.7/dist-packages/IPython/utils/_process_posix.py", line 27, in <module> 
    from IPython.utils import text 
    File "/usr/lib/python2.7/dist-packages/IPython/utils/text.py", line 27, in <module> 
    from IPython.external.path import path 
ImportError: cannot import name path 

यह त्रुटि उत्पन्न हुई है, लेकिन लाइन 46.

  1. पर पिछले एक हुआ मैं कैसे virtualenv साथ काम IPython कर सकते हैं?

  2. /usr/lib/python2.7/dist-packages/IPython/externalsys.path को एक नई त्रुटि के रूप में कैसे जोड़ सकता है?

  3. पायथन आयात पथ की बेहतर समझ प्राप्त करने के लिए मुझे क्या पढ़ना चाहिए?

धन्यवाद!

पुनश्च: सामान्य IPython sys.path

['', 
'/usr/bin', 
'/usr/lib/python2.7', 
'/usr/lib/python2.7/plat-linux2', 
'/usr/lib/python2.7/lib-tk', 
'/usr/lib/python2.7/lib-old', 
'/usr/lib/python2.7/lib-dynload', 
'/usr/local/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages/PIL', 
'/usr/lib/python2.7/dist-packages/gst-0.10', 
'/usr/lib/python2.7/dist-packages/gtk-2.0', 
'/usr/lib/pymodules/python2.7', 
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client', 
'/usr/lib/python2.7/dist-packages/ubuntuone-client', 
'/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', 
'/usr/lib/python2.7/dist-packages/ubuntuone-couch', 
'/usr/lib/python2.7/dist-packages/ubuntuone-installer', 
'/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol', 
'/usr/lib/python2.7/dist-packages/IPython/extensions'] 
+2

यदि आप 'आयात sys' चलाते हैं तो आप जो भी देखते हैं उसे पोस्ट कर सकते हैं; अपने * सामान्य * पायथन में sys.path प्रिंट करें? (यानी जिसने आपने आईपीथॉन स्थापित किया है) –

+0

अब '/usr/lib/pymodules/python2.7' के बाद, आईपीथॉन काम करता है। – zjk

+0

अच्छी तरह से ऐसा लगता है कि आपने अपनी समस्या का समाधान किया है (मूल रूप से, अपने पथ की जांच करके और फिर यह पता लगाना कि आपको वास्तव में क्या जोड़ने की आवश्यकता है)। आपको इसे इस प्रश्न के उत्तर के रूप में पोस्ट करना चाहिए। –

उत्तर

9

IPython अब काम करने के लिए लगता है!

क्योंकि ipython को सरलजन्य नहीं मिल रहा है। मैंने सरलजन्य का पता लगाने की कोशिश की और पाया कि सरल/'eusr/lib/pymodules/python2.7' में सरल है। '/usr/lib/pymodules/python2.7' जोड़े जाने के बाद, ipython ठीक काम करता है।

जेफ ट्रैटनर की टिप्पणी वास्तव में मदद करता है!

+0

मुझे निम्न आदेश काम मिला: PYTHONPATH =/usr/lib/python2.7/dist-packages ipython (यह वर्चुअलनव के अंदर पाइथन 2.7 के साथ उबंटू 12.04 पर था) –

7

यदि आप का उपयोग कर ipython3 इंस्टॉल करते हैं, तो आपको इस तरह की किसी भी समस्या का सामना नहीं करना पड़ेगा।

ipython के बजाय, आपको टर्मिनल पर ipython3 टाइप करना चाहिए।

पायथन 2 के लिए ipython2 का उपयोग करें।

+3

+1 !!! मेरे मामले में, मैंने वर्चुअलएन्व के अंदर काम करने के लिए "ipython2.7" टाइप किया। – jrvidotti

+0

+1: ** ipython2.7 qtconsole ** अब काम करता है ... जहां केवल ** ipython ** काम किया! Jrvidotti के लिए सभी तरह के फिक्स के लिए धन्यवाद (यह एक संघर्ष था) – wgw

3

पथ में परिवर्तन करना किसी भी तरह से मदद नहीं करता है। हालांकि एक सुपर उपयोगकर्ता के रूप में ipython चल रहा है (हालांकि मुझे इस पर गर्व नहीं है!)

sudo ipython 
+1

ठीक है, यह समस्या हल हो गई। लेकिन आधिकारिक तौर पर कौन समझा सकता है? o_O –

0

मेरे मामले में, यह मेरे लिए कस्टमाइज़ अजगर "पथ" उस से ImportError पैदा कर रहा था नामित पथ में एक पैकेज अधिक था:

import IPython.external.path as path 

देखें https://github.com/ipython/ipython/issues/3994

1

मैं था एक ही समस्या, मेरे मामले में इसका कारण यह था कि निर्देशिका: /usr/lib/python2.7/dist-packages को वर्चुअल वातावरण बनाया गया था जब मैं पथ में नहीं जोड़ा गया था (मुझे यह जानना है कि क्यों)

workon 'your_environment_here' 
add2virtualenv /usr/lib/python2.7/dist-packages 

नोट::मेरे मामले में टर्मिनल में निम्न समस्या हल हो इसका मतलब यह है कि आप virtualenvwrapper

0

मैं एक नया ubuntu मेजबान में कुछ weirdness अनुभव का उपयोग कर रहे हैं, और महसूस किया कि मैं के लिए अलग व्यवहार हो रही थी mkvirtualenv मैक बनाम ubuntu बनाम। मैं

'mkvirtualenv --system-site-packages mynewenv' 
0

मेरे लिए के साथ इस अंतर पिछले मिला, समाधान वर्तमान में नवीनतम 4.0.0 के लिए 0.13.2 से IPython उन्नयन गया था।

1

pip install ipythonapt-get install ipython के बजाय। पूर्व वर्चुअलएन्व में स्थापित होता है, बाद वाला आपके सिस्टम पायथन पैकेज में स्थापित होता है।

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