python virtualenv простаивает и ткинтер выдает - PullRequest
7 голосов
/ 03 мая 2011

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

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

в мусорном ведре / моего virtualenv, но он жалуется, что не может найти Ткинтера.

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

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

Ответы [ 2 ]

3 голосов
/ 07 февраля 2012

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

C:\> virtualenv t:\env\myenv
C:\> xcopy  c:\python27\tcl t:\env\myenv\tcl /e /i /k
1 голос
/ 17 мая 2011

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

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