我有一个程序,我可以从终端(没有虚拟环境)运行,我用--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它没有,但显然这些命令不能安装在虚拟环境中。 我错过了什么吗?
答案 0 :(得分:0)
解决方案是选择虚拟环境的路径。确保〜/ .cache / pip和虚拟环境的路径都由用户拥有。在我的情况下,第二个不是
sudo chown -R your_username:your_username path / to / virtuaelenv /
在这里查看@Vingtoft: StackOverflow 19471972