Virtualenv:TclError无法找到可用的init.tcl

rem*_*emi 6 tkinter tcl matplotlib virtualenv python-2.7

问题:运行Python的matplotib从Windows虚拟环境报道和讨论Github上票93和相关的修复建议在这里.

代码(myp.py):

     import matplotlib.pyplot as pl
     import Tkinter as tk
     # insert code to read/load mydata
     pl.plot(mydata['foo'],mydata['bar'],'*')
Run Code Online (Sandbox Code Playgroud)

Tcl错误:

 _tkinter.TclError: Can't find a usable init.tcl in the following directories: 
C:/Python27/lib/tcl8.5 C:/Users/Remi/MyVirtEnv/lib/tcl8.5....(ect)
Run Code Online (Sandbox Code Playgroud)

修复尝试1:正如上面的票证所示,我添加了以下环境.批处理文件activate.bat中的路径变量位于C:/Users/Remi/MyVirtEnv/Scripts/:

set "TCL_LIBRARY=C:\Python27\tcl\tcl8.5"
set "TK_LIBRARY=C:\Python27\tcl\tk8.5"
Run Code Online (Sandbox Code Playgroud)

没有这样解决.潜在相关信息:使用PyCharm具有以下配置的IDE:

Environment variables: PYTHONUNBUFFERED=1
Python interpreter: python 2.7.10 virtualenv at C:\Users\Remi\MyVirtEnv
"buttons checked": Add content roots and Add source roots to PYTHONPATH
Run Code Online (Sandbox Code Playgroud)

我能得到的任何帮助都将非常感激.

小智 2

将以下环境变量添加到位于虚拟环境中的批处理文件 activate.bat 中的路径后,例如:C:/Users/Remi/MyVirtEnv/Scripts/:

set "TCL_LIBRARY=C:\Python27\tcl\tcl8.5"
set "TK_LIBRARY=C:\Python27\tcl\tk8.5"
Run Code Online (Sandbox Code Playgroud)

它能够在虚拟环境中启动IDLE。

确保路径有效,例如“C:\Python27\tcl\tcl8.5”