python virtualenv простаивает и проблема с tkinter

#tkinter #virtualenv #python-idle

#tkinter #virtualenv #python-простаивает

Вопрос:

Чтобы иметь возможность использовать idle с моим virtualenv python, я создал скрипт idle

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

в bin / моего virtualenv, но он жалуется на невозможность найти Tkinter.

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

Я проверил, и Tkinter может быть импортирован в обычном python2.7.1, но я не могу импортировать Tkinter из моего virtualenv python.
Как я могу сделать Tkinter доступным для моего virtualenv python (я не должен использовать пакеты сайта с virtualenv по другой причине)
Спасибо

Ответ №1:

Одним из простых решений является копирование папки tcl из вашей исходной установки python в виртуальную среду. Например, на моей машине я сделал следующее:

 C:> virtualenv t:envmyenv
C:> xcopy  c:python27tcl t:envmyenvtcl /e /i /k
  

Ответ №2:

В настоящее время я использую IDLE в нескольких виртуальных средах, но мой скрипт для его запуска выглядит следующим образом. Это работает для меня независимо от того, создал ли я свою среду, используя опцию —no-site-packages или нет. По какой-то причине мне пришлось указать полный путь к моему виртуальному python в заголовке скрипта.

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