我正在尝试运行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,虽然很好),但我不知道如何。有什么提示吗?
注意:我一直使用python2.7。这是第一次使用python3,并且第一次使用虚拟环境。我很可能在这里犯了一个错误。
注意2:我在prettytable.py上执行了chmod + x,并尝试使用sudo运行interactive.py,以检查权限问题。
答案 0 :(得分:2)
你遗漏了很多重要的信息,所以我让我猜。您在全局安装了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
重新创建虚拟环境。或者使用toggleglobalsitepackages
中的命令virtualenvwrapper
。