当前位置: 首页 > 面试题库 >

Virtualenv中的TKinter

艾照
2023-03-14
问题内容

尝试使用来自virtualenv的基于TKinter的小部件运行python代码。

    user@computer:~/myproject$ env/bin/python Python
    2.7.3 (default, Sep 26 2012, 21:51:14)  [GCC 4.7.2] on linux2 Type "help", "copyright", "credits" or "license" for more information.
    >>> import Tkinter 
Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 42, in <module>
        raise ImportError, str(msg) + ', please install the python-tk package' ImportError: No module named _tkinter, please install the python-tk package

将TK安装到virtualenv的正确方法是什么?


问题答案:

activate脚本中设置环境变量TCL_LIBRARY 。在Windows(带有Tcl 8.5的Python
2.7)上,只需将此行添加到Scripts\activate.bat

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

@Jasper van den Bosch的编辑:在Ubuntu上,对脚本的修改activate如下:

TK_LIBRARY=/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/site-packages/PIL:/usr/lib
TKPATH=/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/site-packages/PIL:/usr/lib 
TCL_LIBRARY=/usr/lib 
export TCL_LIBRARY TK_LIBRARY TKPATH

可以在askubuntu上的此问题上找到此参考



 类似资料:
  • 在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。 如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办? 这种情况下,每个应用可能需要各自拥有一套“独立”的Pyt

  • VirtualEnv用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装。 使用 VirtualEnv 的理由: 隔离项目之间的第三方包依赖,如A项目依赖django1.2.5,B项目依赖django1.3。  为部署应用提供方便,把开发环境的虚拟环境打包到生产环境即可,不需要在服务器上再折腾一翻。

  • 问题内容: 我已经通过安装并在创建新环境后收到此错误: 在我的环境中: 我该如何修理? 谢谢。 问题答案: 如果您仍然遇到问题,则可以尝试使用pythonbrew。它是解决同一问题的替代方法。它的工作方式更像Ruby的rvm:在之下构建和创建Python的整个实例,然后设置一些bash函数,使您可以轻松地在版本之间进行切换。在其中使用符号链接作为解决方案的一部分来掩盖Python的系统版本的地方,

  • 问题内容: 所以我试图在我的virtualenv中(在控制台中)运行一个简单的matplotlib示例。这是代码: 但是,当我运行它时,我得到: ImportError:Gtk *后端需要安装pygtk。 现在,乐趣开始了。我试图点安装pygtk,但它抛出: 我检查了文件并说尝试。然而。我不太确定如何在virtualenv中执行此操作。为了在virtualenv中安装pygtk,我在哪里解压缩源代

  • 是否有办法使用virtualenv/virtualenvwrapper在特定目录(即当前目录)中创建virtualenv文件夹,而不是使用默认目录(即,)。 相当于:

  • 问题内容: 我正在尝试从cron运行Django管理命令。我正在使用virtualenv使我的项目沙盒化。 我在这里和其他地方都看到了一些示例,这些示例显示了在virtualenv内部运行管理命令的过程,例如: 但是,即使syslog在任务应该启动时显示一个条目,该任务也不会实际运行(脚本的日志文件为空)。如果我从外壳程序手动运行该行,它将按预期工作。 当前,我可以通过cron运行命令的唯一方法是