2016-10-12 2 views
3

Я установил анаконды вместо питона системы на Mac, но когда я типаWx не может работать на макинтош

import wx 
app = wx.App() 

Я получил это:

Эта программа должна иметь доступ к экрану. Пожалуйста, запустите с базой сборкой python и только когда вы вошли в систему на главном дисплее вашего Mac.

Я использую script:

#!/bin/bash 

# what real Python executable to use 
PYVER=2.7 
PYTHON=/Library/Frameworks/Python.framework/Versions/$PYVER/bin/python$PYVER 

# find the root of the virtualenv, it should be the parent of the dir this script is in 
ENV=`$PYTHON -c "import os; print os.path.abspath(os.path.join(os.path.dirname(\"$0\"), '..'))"` 

# now run Python with the virtualenv set as Python's HOME 
export PYTHONHOME=$ENV 
exec $PYTHON "[email protected]" 

, но это только используется система python.Can't использовать LIB в анаконды. Я хочу использовать wx GUI в anaconda, как решить проблему?

+0

Прошло много времени с тех пор, как я посмотрел на анаконду. У этого есть 'Python.framework' в его установке? Как насчет 'pythonw'? – RobinDunn

+0

В anaconda нет Python.framework или pythonw. – XiaXuehai

+1

Если вы используете 'conda' для установки' python.app', то это даст вам скрипт '{prefix}/bin/pythonw', который запустит версию фреймворка Python. Вы также можете использовать 'conda' для установки wxPython. – RobinDunn

ответ

2

Я установил вопрос для моего Python 2 и 3 виртуальных envs, прочитав этот пост (см мой отзыв в последовавший):

Моя среда:

  • macOS 10.12.5
  • Python 2, установленный Homebrew
    • WxPython установлен через: заварить insstall WxPython
  • Python 3 установлен Homebrew
    • WxPython установлен через: gpip3 установить WxPython (глобальный ПДВ для Python 3)

Подсказки:

  • Вы можете изменить скрипт в этом сообщении для работы в Python 3.
  • Вы должны установить «PYTHONHOME» в файле «активировать» вместо «postactivate», если вы НЕ используете virtualenvwrapper.
+1

Советы по работе ссылки хорошо. У меня был wx установлен в моем virtualenv, а не во всем мире. Еще лучше для меня, так как я просто должен был выполнить некоторые инструкции вместо всего этого. – RandomGuy