Virtualenv:TclError找不到可用的init.tcl

问题描述 投票:0回答:2

问题:根据报告和讨论,从 Windows 虚拟环境运行 Python

matplotib
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'],'*')

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)

修复尝试 1:按照上面票证中的建议,我添加了以下环境。批处理文件

activate.bat
中路径的变量位于
C:/Users/Remi/MyVirtEnv/Scripts/
:

set "TCL_LIBRARY=C:\Python27\tcl\tcl8.5"
set "TK_LIBRARY=C:\Python27\tcl\tk8.5"

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

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

如果我能得到任何帮助,我将不胜感激。

python-2.7 matplotlib tkinter tcl virtualenv
2个回答
2
投票

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

set "TCL_LIBRARY=C:\Python27\tcl\tcl8.5"
set "TK_LIBRARY=C:\Python27\tcl\tk8.5"

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

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


0
投票

也经历过这个,尝试了所有建议的步骤(除了重新安装等)。

“解决”的是将 C:\Python27 cl 中的所有内容复制到虚拟环境的 \Lib 中。

起初我只是复制了 cl.8.5 和 k8.5,但是 matplotlib 有问题,所以复制所有内容实际上使它可以工作。正如之前的评论中提到的,这绝对是一个丑陋的修复。

© www.soinside.com 2019 - 2024. All rights reserved.