2

我正在尝试从https://github.com/facebookresearch/DrQA上运行 DrQa 形式的 facebook 研究。要求之一是漂亮的。我在安装它时遇到问题,然后跟着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'

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

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

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

4

1 回答 1

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

或者您必须使用 option 重新创建虚拟环境--system-site-packages。或使用toggleglobalsitepackages来自virtualenvwrapper.

于 2017-08-10T18:44:34.083 回答