2013-05-15 2 views
0

Я немного новичок в командной строке. Раньше у меня был IPython (со всеми настройками зависимостей) на моем последнем MacBook, так что я мог щелкнуть значок из тире, чтобы запустить Qython iPython (вне оболочки терминала).Запуск Qtconsole IPython из командной строки (после установки всех зависимостей)

Теперь на моем новом MacBook Pro, после установки всех тех же файлов и зависимостей, я получаю:

Jacobs-MacBook-Pro:~ Jacob$ ipython qtconsole 
Traceback (most recent call last): 
    File "/usr/local/bin/ipython", line 8, in <module> 
    load_entry_point('ipython==1.0.dev', 'console_scripts', 'ipython')() 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/frontend/terminal/ipapp.py", line 390, in launch_new_instance 
    app.initialize() 
    File "<string>", line 2, in initialize 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/config/application.py", line 84, in catch_config_error 
    return method(app, *args, **kwargs) 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/frontend/terminal/ipapp.py", line 315, in initialize 
    super(TerminalIPythonApp, self).initialize(argv) 
    File "<string>", line 2, in initialize 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/config/application.py", line 84, in catch_config_error 
    return method(app, *args, **kwargs) 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/core/application.py", line 323, in initialize 
    self.parse_command_line(argv) 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/frontend/terminal/ipapp.py", line 310, in parse_command_line 
    return super(TerminalIPythonApp, self).parse_command_line(argv) 
    File "<string>", line 2, in parse_command_line 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/config/application.py", line 84, in catch_config_error 
    return method(app, *args, **kwargs) 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/config/application.py", line 429, in parse_command_line 
    return self.initialize_subcommand(subc, subargv) 
    File "<string>", line 2, in initialize_subcommand 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/config/application.py", line 84, in catch_config_error 
    return method(app, *args, **kwargs) 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/config/application.py", line 361, in initialize_subcommand 
    subapp = import_item(subapp) 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/utils/importstring.py", line 40, in import_item 
    module = __import__(package,fromlist=[obj]) 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/frontend/qt/console/qtconsoleapp.py", line 56, in <module> 
    from IPython.external.qt import QtCore, QtGui 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/external/qt.py", line 23, in <module> 
    QtCore, QtGui, QtSvg, QT_API = load_qt(api_opts) 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/external/qt_loaders.py", line 241, in load_qt 
    result = loaders[api]() 
    File "/Library/Python/2.7/site-packages/ipython-1.0.dev-py2.7.egg/IPython/external/qt_loaders.py", line 171, in import_pyqt4 
    from PyQt4 import QtGui, QtCore, QtSvg 
ImportError: dlopen(/Library/Python/2.7/site-packages/PyQt4/QtGui.so, 2): Library not loaded: /usr/local/lib/QtGui.framework/Versions/4/QtGui 
    Referenced from: /Library/Python/2.7/site-packages/PyQt4/QtGui.so 
    Reason: image not found 

и, опять же будучи новичком, я думаю, что часть проблемы может полагаться на выход, здесь:

Jacobs-MacBook-Pro:~ Jacob$ brew install qt 
Warning: It appears you have MacPorts or Fink installed. 
Software installed with other package managers causes known problems for 
Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again. 
Warning: qt-4.8.4 already installed, it's just not linked 

Благодарим вас за аванс за любые советы. И если вам нужно, чтобы я запускал любую команду (для просмотра большего количества выходов), просто дайте мне знать!

+0

У меня есть * никогда * не повезло получить python для сборки с привязками Qt на mac или ubuntu. Один из вариантов - попытаться использовать дистрибутив python, который предварительно скомпилировал поддержку Qt, например Enthought Canopy (https://www.enthought.com/products/canopy/). Или Anaconda (https://store.continuum.io/cshop/anaconda /) –

+0

Используете ли вы предустановленный Python 2.7 от Apple, установщик с python.org, пакет Homebrew или что-то еще? У вас есть MacPorts или Fink, установленные вместе с Homebrew? Как вы установили Qt, PyQt (или PySide?) И ipython? Если у вас есть несколько версий чего-либо (и помните, что если вы установили _any_ Python, вы это сделали, потому что Apple уже предоставила вам один), как выглядит ваш 'PATH'? – abarnert

+0

@RobertMcGibbon: только с Python 2.7.2, который поставляется с OS X 10.8 (без сторонних установок), 'brew install pyside' работал для меня из коробки. Я также работал с Python от Homebrew. Но не с python.org, ни с любым другим Python, кроме этих двух. (Я также использовал MacPorts python/qt/pyqt4 вместе без проблем, обновляя с 10.4 до 10.7 на протяжении многих лет. Это действительно только когда вы начинаете устанавливать несколько Pythons, которые все хотят требовать часть/usr/local, которую получают путают ...) – abarnert

ответ

2

Итак, у вас есть несколько установок Python, и вы не знаете, какой из них у вас есть.

У вас есть и доморощенные, и MacPorts.

Ваши MacPorts сломаны, и вы не знаете, как это исправить.

Фиксация каждой из этих функций может быть не такой трудной, но я думаю, что пришло время стереть шифер и начать все сначала.


«Легкий» способ сделать это, чтобы переустановить операционную систему, используя стандартное резервное копирование и перенастройку вещи, чтобы сохранить ваши приложения Aqua-уровень, пользовательские настройки, документы и т.д. Но это довольно резкое, и не должно быть необходимым.

Чтобы очистить вещи вручную, первая:

  • Uninstall MacPorts.
  • brew uninstall $(brew list). Это удаляет все пакеты Homebrew. Вы могли только unlink вместо uninstall, но вы действительно хотите восстановить их, как только ваша машина будет очищена.
  • sudo rm -rf /Library/Python /Library/Frameworks/Python.framework /usr/local/share/python*. Это уничтожает большинство сторонних установок Python. И если вы не знаете, откуда пришли ваши, это действительно лучшее, что вы можете сделать.

Взгляните на все, что осталось в /usr/local/bin. Всевозможные вещи могут закончиться здесь: от скриптов, установленных с Python от Apple, до инструментов командной строки для приложений с графическим интерфейсом, таких как TextMate, Aquamacs или GitHub, для инструментов, которые поставляются с двоичными установками SDL или Qt, поэтому вы можете не захотеть просто уничтожить все это, но вы хотите посмотреть все это. Также посмотрите на /usr/local/lib и /Library/Frameworks.

Вам также может понадобиться для редактирования ~/.profile и т.д. файлов, чтобы отменить изменения, или те, монтажники могут быть сделаны, например, добавление /opt/local/bin или /Library/Frameworks/Python.framework/Versions/2.7/bin к вашим PATH. Там может также быть изменениями в /etc, но это менее вероятно (и реже вызывает проблемы).

Теперь запустите brew doctor, чтобы убедиться, что Homebrew счастлив, переустановите любые домашние пакеты для начинающих и установки двоичных файлов, не относящиеся к Python, и теперь вы готовы установить/настроить свой питон, PyQt4-or-PySide, iPython, и т.п.правильно и жить счастливо каждый после (пока вы не купите новый компьютер в следующем году).

+0

Я собираюсь спать на перестройке - тем не менее, вы действительно изложили это простым и простым. Я ценю это, так как, когда я, наконец, придумываю мужество, чтобы пойти на это, это будет меньше хлопот. Спасибо. –