2016-05-04 3 views
6

I думаю короткая версия этого вопроса: Как мне получить virtualenv, работающий с Python 3.5, чтобы указать на правильную версию ActiveTcl на Mac?Исправление Python 3 проблемы tkinter на Mac с virtualenv


Вот длинная версия:

Я пытаюсь запустить this Korg Electribe sample editor project на Mac. Автор тестировал его только в Windows, и на основе скриншотов он работает. Мне удалось запустить основной скрипт python, но as I mention in an issue that I've opened, после загрузки файла окно становится черным.

После выполнения некоторых исследований, я обнаружил, что есть known issue with Aqua Cocoa Tk и python.org имеет provided some instrunctions о том, как исправить tkinter для Mac OS 10.9 и выше. Я попытался установить обе версии ActiveTcl (8.5.18.0), а также новую версию версии 8.6.x.x без успеха.

Я уверен, что это другая проблема, чем Tkinter not working mac osx el capitan, так как сценарий запускается, и окно отображается правильно при запуске. Только после того, как я попытался загрузить файл .all (есть пример файла в проблеме Github), экран становится черным.

После еще некоторых исследований, я нашел этот вопрос, кажется, связаны между собой, но только для Windows: TKinter in a Virtualenv

Я нахожусь под впечатлением, что, если я могу понять, что установить TCL_LIBRARY к, что я я смогу сделать какой-то голова, но я не могу найти эту информацию для пакетов, перечисленных на python.org.

Несколько связаны между собой, но и, казалось бы полезно, если бы я мог понять, который версия Tcl/Tk, что tkinter указывает на внутри Python, так что если кто-то может помочь с этим, а также, я бы очень ценить это.

Спасибо!

+0

Вы когда-нибудь понять это? – Alex

+0

Были упомянуты некоторые обновления и комментарии к проблеме Github, но я не отслеживал, действительно ли проблема исправлена, или в чем причина. – Kevin

ответ

0

мне удалось с помощью Tkinter в Python3 virtualenv на OSX 10.13 по:

  • установка официальный OSX Python 3 из https://www.python.org/
  • установка ActiveTcl из https://www.activestate.com/activetcl
  • создания нового virtualenv

    mkvirtualenv myenv --python=python3 
    
  • расположение местоположения tkinter в каталоге Python3 ectory. Для меня это было здесь:

    /usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter 
    
  • создания символической ссылки в библиотеке, указывающей virtualenv к месту TkInter

    cd ~/.virtualenvs/myenv/lib/python3.6 
    ln -s /usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter tkinter 
    
Смежные вопросы