我在服务器上使用linux。我没有root权限。我在本地安装了python-3.2.3到“/ home / sam / install_sam”。当我导入tkinter模块。我收到以下错误:
ImportError: No module named _tkinter, please install the python-tk package
我知道我需要安装Tkinter模块。因为我没有root权限。我不能像以下命令一样使用:
apt-get install python-tk
sudo apt-get install python-tk
我在goolge上搜索。 我从 here获得tcl / tk。我安装它们使用以下命令。
cd ~/Downloads/tcl8.5.11/unix
./configure --prefix=/home/sam/install_sam/tcl
make
make install
cd ~/Downloads/tk8.5.11/unix
./configure --prefix=/home/sam/install_sam/tk
--with- tcl=/home/sam/Downloads/tcl8.5.11/unix
make
make install
cd ~/Downloads/Python3.2.3/
export LD_LIBRARY_PATH=/home/sam/install_sam/tcl/lib:/home/sam/install_sam/tk/lib
export LD_RUN_PATH=/home/sam/install_sam/tcl/lib:/home/sam/install_sam/tk/lib
./configure --prefix=/home/sam/install_sam/python
make
make install
我仍然遇到错误:信息:无法找到Tcl / Tk库和/或标题。我应该如何配置python的tcl / tk
答案 0 :(得分:5)
最后。我在同一路径中安装tcl / tk和python。它现在可以工作了。命令如下:
cd ~/Downloads/tcl8.5.11/unix
./configure --prefix=/home/sam/install_sam/python3
make
make install
cd ~/Downloads/tk8.5.11/unix
./configure --prefix=/home/sam/install_sam/python3
--with-tcl=/home/sam/Downloads/tcl8.5.11/unix
make
make install
export LD_LIBRARY_PATH=/home/sam/install_sam/python3/lib
cd ~/Downloads/Python3.2.3/3
./configure --prefix=/home/sam/install_sam/python3
make
make install
有人可以告诉我如何以第一种方式(在问题中提到)为python配置tcl / tk 。我会很感激
答案 1 :(得分:5)
在构建Python 3之前,使用CPPFLAGS环境变量为tcl和tk设置包含目录。这对我有用。
export CPPFLAGS="-I/home/sam/install_sam/tcl/include -I/home/sam/install_sam/tk/include"
答案 2 :(得分:0)
sudo apt-get install tcl-dev tk-dev
为我工作,虽然我最终拉了一个码头图像而不是使用它。
答案 3 :(得分:-1)
在我的情况下,我df["columnname"] = df["columnname"].astype(int)
在我的Python3环境中正常工作,但是我必须使用预编译的Python及其自己的环境(Blender fyi),其中不包含依赖项(我需要tkinter来运行import tkinter
)。
我的解决方法非常简单:
在工作 python中,matplotlib
并检查其在import tkinter
中的安装位置。类似于tkinter.__file__
将path/to/site-packages/tkinter
文件夹复制到目标安装的tkinter
然后site-packages
将不起作用。再次使用文件技巧,在我的Ubuntu中找到丢失的import _tkinter
文件,类似于`path / to / python3.7 / lib-dynload / _tkinter.cpython-37m-x86_64-linux-gnu.so'< / p>
再次将.so
文件复制到目标安装的相应.so
中。 确保原始Python版本和目标Python版本都兼容。
要确保您的目标python找到了复制的文件,请确保目标路径列在lib-dynload
下。
希望这会有所帮助!
干杯,
安德烈斯