Python prettytable 没有模块,但模块在那里[关闭]

Posted

技术标签:

【中文标题】Python prettytable 没有模块,但模块在那里[关闭]【英文标题】:Python prettytable no module, but module is there [closed] 【发布时间】:2018-01-18 23:21:06 【问题描述】:

我正在尝试运行 DrQa 形式的 facebook 研究,可在 https://github.com/facebookresearch/DrQA 获得。要求之一是漂亮的。安装有问题,关注Can't install prettytable:

pip3 install https://pypi.python.org/packages/source/P/PrettyTable/prettytable-0.7.2.tar.bz2

现在我有以下内容:

$ ls -l /usr/lib/python3.5/site-packages
total 1896
drwxr-xr-x  2 root root    4096 Aug 10 17:04 prettytable-0.7.2.dist-info
-rwxr-xr-x  1 root root   54204 Aug 10 17:04 prettytable.py
drwxr-xr-x 22 root root    4096 Aug 10 17:04 scipy
drwxr-xr-x  2 root root    4096 Aug 10 17:04 scipy-0.19.1.dist-info
[truncated] 

尝试使用它:

$ python3 scripts/pipeline/interactive.py  
Traceback (most recent call last):
  File "scripts/pipeline/interactive.py", line 12, in <module>
    import prettytable
ImportError: No module named 'prettytable'

我觉得我仍然需要安装模块(链接中提到了这一点,但我也对 scipy 没有 .py 感到怀疑,而 prettytable 确实如此),但我不知道如何。有什么建议吗?

注意:我一直用python2.7。这是第一次使用python3,也是第一次使用虚拟环境。我很可能在这里犯了一个错误。

注意 2:我在 prettytable.py 上执行了 chmod +x,还尝试使用 sudo 运行 interactive.py,以检查权限问题。

【问题讨论】:

【参考方案1】:

你遗漏了很多重要信息,所以我让我猜一下。您全局安装了 prettytable(在激活虚拟环境之前),但在激活一个之后运行 python3 scripts/pipeline/interactive.py,对吧?

虚拟环境旨在分隔已安装的软件包组,因此默认情况下全局软件包在虚拟环境中不可用。你必须在虚拟环境中安装 prettytable:

source venv/bin/activate
pip install https://pypi.python.org/packages/source/P/PrettyTable/prettytable-0.7.2.tar.bz2

或者您必须使用选项--system-site-packages 重新创建虚拟环境。或者使用来自virtualenvwrapper 的命令toggleglobalsitepackages

【讨论】:

我在激活之前和之后都安装了导致问题的。谢谢!

以上是关于Python prettytable 没有模块,但模块在那里[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Python模块之"prettytable"

Python prettytable模块

python之PrettyTable模块

Python库: PrettyTable 模块简介和简单使用

Windows下 prettytable模块安装

python---PrettyTable