Bash找不到python库但pydev可以

1 投票
2 回答
759 浏览
提问于 2025-04-17 19:04

我正在尝试用Python的DNS库(dnspython)写一些脚本。我通过包管理器(apt-get install)安装了它(python-dns和python-dnspython)。

我试着在命令行中交互式地写这个脚本,但它总是说找不到这个库。

>>> import dns
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named dns

有趣的是,当我在Eclipse(pydev)中做同样的导入时,它没有任何问题。可能是我哪里做错了,比如没有定义路径等等(虽然这不太可能,因为据我所知,apt-get应该会自动处理这些)。

操作系统:Ubuntu 12.04
Python版本:2.7.3

我在Linux和Python方面都是初学者(我知道这组合得不好)。任何帮助都将不胜感激。提前谢谢!

2 个回答

2

在这两个环境中试试看,看看有什么不同:

import sys
print sys.path
0

这样做

dpkg -L python-dnspython

这会给出一个很长的列表,列出它安装的位置。在我的系统上,python-dnspython 安装在 /usr/share/pyshared/ 这个地方,理应在 Python 的搜索路径中。为了确保这一点,可以手动设置它,使用

export PYTHONPATH=/usr/share/pyshared

在运行命令行 Python 之前

撰写回答