Ошибка импорта IPython и python sys.path в целом

Я следую за этим сообщением, чтобы сделать одно правило ipython всеми virtualenvs.

Из того, что я понимаю, основная идея сообщения заключается в том, что когда в virtualenv ipython не может найти свои модули.

(a-virtualenv)me@pc:~$ 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") 

Этот трюк работает для Бальтазара. Но в моем случае я получаю это

 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/lib/python2.7/dist-packages/IPython/external в sys.path в /usr/bin/ipython . Я получаю

 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 

Эта ошибка произошла в строке 43 IPython/__init__py , но предыдущая произошла в строке 46.

  1. Как я могу заставить ipython работать с virtualenv?

  2. Как добавить /usr/lib/python2.7/dist-packages/IPython/external в sys.path приведет к новой ошибке?

  3. Что я должен прочитать, чтобы лучше понять путь импорта python?

Благодаря!

PS: обычный IP-адрес 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'] 

  • Как обновить sqlite3 в python 2.7.3 внутри virtualenv?
  • Как активировать virtualenv?
  • Как добавить путь к PYTHONPATH в virtualenv
  • Установка python3 в виртуальной среде python2
  • pip и virtualenv (без virtualenvwrapper): pip install имя_пакета разрешает разрешение, но с использованием sudo устанавливает глобально
  • Развертывание Python с virtualenv (на сервере без доступа к Интернету)
  • virtualenv (python3.4), pip install mysqlclient error
  • Невозможно активировать virtualenv в GIT bash mingw32 для Windows
  • 8 Solutions collect form web for “Ошибка импорта IPython и python sys.path в целом”

    Теперь IPython работает!

    Потому что ipython не может найти simplegeneric. Я попытался найти simplegeneric и нашел simplegeneric в '/usr/lib/pymodules/python2.7'. После добавления '/usr/lib/pymodules/python2.7' ipython отлично работает.

    Комментарий Джеффа Тратнера действительно помогает!

    Если вы устанавливаете ipython3 с помощью apt-get , у вас не возникнет таких проблем.

    Вместо ipython вы должны ввести ipython3 на терминале.

    Для Python 2 используйте ipython2 .

    Внесение изменений в путь никоим образом не помогло. Однако работает ipython в качестве суперпользователя (хотя я не горжусь этим!)

     sudo ipython 

    У меня была та же проблема, в моем случае причина заключалась в том, что каталог: /usr/lib/python2.7/dist-packages не был добавлен в путь при создании виртуальной среды (я хотел бы знать, почему)

    В моем случае следующая проблема в терминале решила проблему:

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

    Примечание. Предполагается, что вы используете virtualenvwrapper

    pip install ipython вместо apt-get install ipython . Первый устанавливает в virtualenv, последний устанавливает в пакеты вашей системы python.

    В моем случае это был пакет выше в моем настраиваемом пути Python с именем «путь», который вызывал ImportError:

     import IPython.external.path as path 

    См. https://github.com/ipython/ipython/issues/3994

    Я испытал некоторую странность в новом узле ubuntu и понял, что у меня разные поведения для mkvirtualenv на mac против ubuntu. Я преодолел эту разницу с

     'mkvirtualenv --system-site-packages mynewenv' 

    Для меня решение заключалось в обновлении IPython от 0.13.2 до новейшего 4.0.0.

    Interesting Posts

    Список Tkinter

    Может ли Pandas читать и изменять один рабочий лист Excel (вкладка) без изменения остальной части файла?

    Регулярное выражение для подтверждения того, является ли строка допустимым идентификатором в Python

    Python – человеческий вид чисел с буквенным числом, но в pyQt и __lt__ operator

    Matplotlib imshow / matshow отображает значения на графике

    Как найти количество слов в строке?

    Регулировка экспозиции (яркость / контрастность) на основе гистограммы с использованием Python

    Как я могу проверить строку юникода Python, чтобы убедиться, что он * на самом деле * является правильным Unicode?

    Zip с выводом списка вместо кортежа

    странный результат при удалении элемента из списка

    Чтение массива ячеек Matlab, сохраненного как файл v7.3 .mat с H5py

    csv.write пропускает строки при записи в csv

    Вызов метода из строки

    Python Tornado предоставляет статический каталог

    Самый быстрый способ преобразования массива Numpy в разреженный словарь?

    Python - лучший язык программирования в мире.