python常问问题_Python 常见问题总结

1、错误:No module named '_tkinter'

如果在使用类似 matplotlib 库时遇到如下错误:

import tkinter

File "/usr/local/lib/python3.6/tkinter/__init__.py", line 36, in

import _tkinter # If this fails your Python may not be configured for Tk

ModuleNotFoundError: No module named '_tkinter'

1

2

3

4importtkinter

File"/usr/local/lib/python3.6/tkinter/__init__.py",line36,in

import_tkinter# If this fails your Python may not be configured for Tk

ModuleNotFoundError:Nomodulenamed'_tkinter'

因为事实上 tkinter 并不是一个第三方库,而是 Python 的内置接口类,并不能使用 pip3 来进行安装。

可尝试使用以下方法解决:

1)安装 python-tk 和 tk-dev 库:

Shell

sudo apt install python3-tk

sudo apt install tk-dev

1

2sudoaptinstallpython3-tk

sudoaptinstalltk-dev

2)重新编译 Python 3.6.5:

进入 Python 3.6.5 源码目录,运行如下命令:

Shell

make clean

./configure

make -j8

sudo make install

1

2

3

4makeclean

./configure

make-j8

sudomakeinstall

3)如果正确安装则可以运行:

Shell

import tkinter

1importtkinter

2、错误:ModuleNotFoundError: No module named 'pandas'

在安装 Python 3.6 以后可能会遇到如下问题:

Traceback (most recent call last):

File "dataset.py", line 4, in

import pandas as pd

ModuleNotFoundError: No module named 'pandas'

1

2

3

4Traceback(mostrecentcalllast):

File"dataset.py",line4,in

importpandasaspd

ModuleNotFoundError:Nomodulenamed'pandas'

通常情况下只需要运行:

Shell

pip3 install wheel

pip3 install pandas

1

2pip3installwheel

pip3installpandas

不过在 Python 3.6 时,如果你之前装了其他版本比如 3.5 版本的 Python,可能运行后直接安装到 Python 3.5 的目录下,3.6 仍然没有安装。这时可以使用以下命令安装在指定版本上:

Shell

sudo python3.6 -m pip install pandas

1sudopython3.6-mpipinstallpandas

3、错误:_tkinter.TclError: couldn't connect to display "localhost:11.0"

如果在使用 SSH 远端调用 matlibplot 等显示界面时遇到如下错误:

File "/usr/local/lib/python3.5/site-packages/matplotlib/backends/_backend_tk.py", line 1046, in new_figure_manager_given_figure

window = Tk.Tk(className="matplotlib")

File "/usr/lib/python3.5/tkinter/__init__.py", line 1871, in __init__

self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)

_tkinter.TclError: couldn't connect to display "localhost:11.0"

1

2

3

4

5File"/usr/local/lib/python3.5/site-packages/matplotlib/backends/_backend_tk.py",line1046,innew_figure_manager_given_figure

window=Tk.Tk(className="matplotlib")

File"/usr/lib/python3.5/tkinter/__init__.py",line1871,in__init__

self.tk=_tkinter.create(screenName,baseName,className,interactive,wantobjects,useTk,sync,use)

_tkinter.TclError:couldn'tconnecttodisplay"localhost:11.0"

可能有几个问题,请检查:

1)SSH 连接方式,请使用 -X 参数:

ssh -X user@webserver.com

2)MacOS 请安装 XQuartz 后重启再尝试(参见[2])。

4、子目录 import 根目录路径

如果你的在子目录有一个 python 脚本,类似 tests/test.py 希望 import 根目录的 load_data.py ,一个可行的方法就是在 test.py 文件头部加入:

Python

import sys

sys.path.append('./')

1

2importsys

sys.path.append('./')

然后正常 import 方式类似:

Python

from load_data import SparseDataset

1fromload_dataimportSparseDataset

运行时在根目录运行:

Shell

python tests/test.py

1pythontests/test.py

参考文献

[1] https://blog.csdn.net/blueheart20/article/details/78763208

[2] https://wikis.nyu.edu/display/ADRC/Enable+X11+Forwarding+on+Mac+OS+X

Original content here is published under these license terms:X

License Type:Read Only

License Abstract:You may read the original content in the context in which it is published (at this web address). No other copying or use is permitted without written agreement from the author.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值