与virtualenvs和Python包混淆

时间:2017-07-01 10:35:42

标签: python-3.x ubuntu pip virtualenv

在我的python程序中(使用python3.5运行virtualenv),我需要使用Pillow库来处理图像。

  

ImportError:没有名为' Pillow'

的模块

告诉我枕头没有安装在virtualenv中。

但是,当我运行pip install Pillow时,我会回来:

  

要求已经满足:/ usr / lib / python3 / dist-packages

中的枕头

如果我使用的pip来自virtualenv,那么为什么要查看/usr/lib/python3/dist-packages来检查软件包是否已安装?

为了确保,我运行type pythontype pip来确认这两个程序来自我的virtualenv,它们是:

  

python是哈希(/home/nelson/.virtualenvs/MainEnv/bin/python)

     

pip是哈希(/home/nelson/.virtualenvs/MainEnv/bin/pip)

在创建virtualenv时我没有使用

sudo(我知道因为这已经给我带来了问题)或者在尝试pip install时;那么这个逻辑中的缺陷在哪里?如何在我的virtualenv中安装Pillow /如何导入枕头?

2 个答案:

答案 0 :(得分:1)

Pillow是PIL的一个分支。因此from PIL import Image。见https://pillow.readthedocs.io/en/4.2.x/handbook/tutorial.html

答案 1 :(得分:0)

如果您使用--system-site-packages创建了虚拟环境,则虚拟环境可以访问全局站点包模块。

如果您不想要,则需要在没有--system-site-packages选项的情况下重新创建虚拟环境。