在没有sudo的情况下在虚拟环境中安装Pillow / PIL的问题

时间:2017-08-26 22:57:51

标签: python-2.7 virtualenv python-imaging-library permission-denied

我有一个程序,我可以从终端(没有虚拟环境)运行,我用--user选项安装包。现在我想使用requirements.txt,setup.py等在Python 2.7中以适当的方式组织程序。 为此,我创建了一个虚拟环境,我正在安装所有必需的软件包,以便我可以执行" pip冻结> requirements.txt&#34 ;.

不幸的是我无法安装PIL / Pillow。我曾经遇到过jpeg的问题,但我用" sudo apt-get install libjpeg-dev"修复了这个问题。现在有了这些:

pip install Pillow
pip install Pillow --allow-external Pillow --allow-unverified Pillow

我得到了拒绝的许可:

...
error: could not create '/home/kinkyboy/virtualenv/tantrix/lib/python2.7/site-packages/PIL': Permission denied

----------------------------------------
Cleaning up...
Command /home/kinkyboy/virtualenv/tantrix/bin/python -c "import setuptools, tokenize;__file__='/home/kinkyboy/virtualenv/tantrix/build/Pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-S9cPV3-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/kinkyboy/virtualenv/tantrix/include/site/python2.7 failed with error code 1 in /home/kinkyboy/virtualenv/tantrix/build/Pillow
Storing debug log for failure in /home/kinkyboy/.pip/pip.log

如果我使用sudo它可以工作并且--user它没有,但显然这些命令不能安装在虚拟环境中。 我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

解决方案是选择虚拟环境的路径。确保〜/ .cache / pip和虚拟环境的路径都由用户拥有。在我的情况下,第二个不是

sudo chown -R your_username:your_username path / to / virtuaelenv /

在这里查看@Vingtoft: StackOverflow 19471972