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 没有模块,但模块在那里[关闭]的主要内容,如果未能解决你的问题,请参考以下文章