2016-05-04 28 views
6

myślę krótka wersja to pytanie brzmi: Jak mogę dostać virtualenv działa Python 3.5, aby wskazać poprawną wersją ActiveTcl na Mac?Mocowanie Python problemów 3 tkinter na Mac z virtualenv


Oto dłuższa wersja:

Próbuję uruchomić this Korg Electribe sample editor project na Macu. Autor przetestował go tylko w systemie Windows i na podstawie zrzutów ekranu wygląda na to, że działa. Byłem w stanie uruchomić podstawowy skrypt python dobrze, ale as I mention in an issue that I've opened, pełne okno staje się czarne po załadowaniu pliku.

Po wykonaniu niektórych badań, znalazłem, że istnieje known issue with Aqua Cocoa Tk i python.org ma provided some instrunctions o tym, jak naprawić tkinter dla Mac OS 10.9 i wyżej. Podjęto próbę zainstalowania obu sugerowanych wersji ActiveTcl (8.5.18.0), a także nowszej wersji 8.6.x.x bez powodzenia.

Jestem prawie pewien, że jest to inny problem niż Tkinter not working mac osx el capitan, ponieważ skrypt działa, a okno jest poprawnie rysowane podczas uruchamiania. Dopiero po próbie załadowania pliku .all (istnieje przykładowy plik w wydaniu Github), ekran staje się czarny.

Po kilku dalszych badań, znalazłem na to pytanie, które wydaje się mieć związek, ale jest specyficzne dla systemu Windows: TKinter in a Virtualenv

Jestem pod wrażeniem, że jeśli mogę dowiedzieć się, co ustawić TCL_LIBRARY się, że "Będę w stanie zrobić pewne postępy, ale nie mogę znaleźć tych informacji dla pakietów wymienionych na python.org.

Nieco związane, wydaje się również być pomocne, jeśli mogę wymyślić który wersja Tcl/Tk że tkinter jest skierowaną do wewnątrz od Pythona, więc jeśli ktoś może pomóc z tym równie dobrze, ja wielce doceniam to.

Dzięki!

+0

Czy kiedykolwiek tego dowiedzieć? – Alex

+0

Pojawiło się kilka aktualizacji i komentarzy do problemu Github z linkami powyżej, ale nie podążyłem za mną, aby sprawdzić, czy problem został naprawiony lub jaka była przyczyna. – Kevin

Odpowiedz

0

udało mi się za pomocą Tkinter w virtualenv python3 na OSX 10.13 przez:

  • instalowania oficjalnego OSX Python 3 z https://www.python.org/
  • instalowanej activeTcl z https://www.activestate.com/activetcl
  • tworzenia nowego virtualenv

    mkvirtualenv myenv --python=python3 
    
  • zlokalizowanie lokalizacji tkinter w katalogu Python3 ektoria. Dla mnie było tutaj:

    /usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter 
    
  • tworzenie dowiązania symbolicznego w bibliotece wskazując virtualenv do lokalizacji 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