2011-05-03 9 views
7

Aby móc korzystać bezczynny z moim virtualenv pytona, stworzyłem bezczynnego skryptpyton virtualenv idle i tkinter problem

#!/myvirtualenv/python 
from idlelib.PyShell import main 
if __name__ == '__main__': 
    main() 

w bin/mojego virtualenv ale narzeka, nie mogąc znaleźć Tkinter.

** IDLE can't import Tkinter. Your Python may not be configured for Tk. ** 

Sprawdziłem i Tkinter mogą być importowane w regularnym python2.7.1 ale nie mogę importować Tkinter z mojego virtualenv pytona. Jak mogę dokonać Tkinter dostępne do mojego virtualenv pytona (muszę używać żadnych site-pakiety z virtualenv dla innego powodu) Dzięki

Odpowiedz

1

obecnie używam bezczynnie w kilku środowiskach wirtualnych, ale mój skrypt, aby rozpocząć wygląda jak poniżej. Działa to dla mnie, niezależnie od tego, czy stworzyłem środowisko przy użyciu opcji --no-site-packages, czy nie. Z jakiegoś powodu musiałem umieścić pełną ścieżkę do mojego wirtualnego pythona w nagłówku skryptu.

#!/home/steve/virt_idle/bin/python 
from idlelib.PyShell import main 
if __name__ == '__main__': 
    main() 
3

Jednym prostym rozwiązaniem jest skopiowanie folderu tcl z oryginalnej instalacji python do środowiska wirtualnego. Na przykład na moim komputerze wykonałem następujące czynności:

C:\> virtualenv t:\env\myenv 
C:\> xcopy c:\python27\tcl t:\env\myenv\tcl /e /i /k