STDIN представлен 0, STDOUT на 1 и STDERR на 2.
/ dev / null - бит-ведро: место, где вы сбрасываете все, что вам не нужно. [!d1 ]
Итак, STDOUT перенаправляется на бит-ведро (мусор), а STDERR перенаправляется туда, где находится STDOUT: бит-ведро.
[ ! d5]Вы также можете сделать это:
>/dev/null 2>/dev/null
Вышеупомянутое решение не работало для меня на Ubuntu 12.10, поскольку libjpeg не был доступен в репозитории.
Что для меня работало:
sudo apt-get build-dep python-imaging
sudo apt-get install libjpeg62 libjpeg62-dev
Если вы получите сообщение об ошибке «Вы должны поместить некоторые« исходные »URI в свой источник.list», то убедитесь, что ваш /etc/apt/sources.list имеет записи deb-src, которые соответствуют вашим записям deb.
Затем вы должны символизировать файлы из своего фактического местоположения на своем сервере в том месте, где их ожидает PIL.
sudo ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib/libz.so
sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so /usr/lib/libfreetype.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/libz.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/libjpeg.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/libfreetype.so
Наконец, pip install PIL
Подушка - более современная вилка PIL.
#jpeg support
sudo apt-get install libjpeg-dev
#tiff support
sudo apt-get install libtiff-dev
#freetype support
sudo apt-get install libfreetype6-dev
#openjpeg200support (needed to compile from source)
wget http://downloads.sourceforge.net/project/openjpeg.mirror/2.0.1/openjpeg-2.0.1.tar.gz
tar xzvf openjpeg-2.0.1.tar.gz
cd openjpeg-2.0.1/
sudo apt-get install cmake
cmake .
sudo make install
#install pillow
pip install pillow
Я просто хочу добавить, что pip install pil больше не работает, по крайней мере на моей машине, вы должны делать
pip install PIL --allow-external PIL --allow-unverified PIL
В приведенных выше ответах создаются ссылки для библиотек x64 в местах x86. Вместо этого я загрузил источник PIL, затем добавлю эти строки в setup.py:
add_directory(library_dirs, "/usr/lib/x86_64-linux-gnu")
add_directory(library_dirs, "/lib/x86_64-linux-gnu")
после этих строк (~ строка 211)
# standard locations
add_directory(library_dirs, "/usr/local/lib")
add_directory(include_dirs, "/usr/local/include")
add_directory(library_dirs, "/usr/lib")
add_directory(include_dirs, "/usr/include")
переустановить PIL. Если вы используете pip:
pip uninstall PIL
Затем из запуска исходного каталога:
python setup.py install
Это решение работает для меня на Ubuntu 14.04, поскольку libjpeg не был доступен в репозитории.
Что в конечном итоге работает для меня
sudo apt-get build-dep python-imaging
sudo apt-get install libjpeg62 libjpeg62-dev
Мне нужно было установить Pillow в virtualenv 14.04 (не используя системные пакеты).
Чтобы создать подушку из PyPI внутри виртуального (Python 2.7):
$ sudo apt-get build-dep pillow
$ virtualenv venv
$ source venv/bin/activate
(venv)$ pip install pillow
] ... тогда вы можете импортировать PIL.
sudo apt-get install python-imaging теперь устанавливает подушку не PIL. Что касается selftest.py, вам может потребоваться проверить источник, чтобы запустить его. И, конечно же, вам нужно установить зависимости, если вы хотите, чтобы PIL поддерживал их, например.
sudo apt-get install libjpeg libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev
Чтобы запустить версию PIL более новую, чем включена в Ubuntu ::
pip install Pillow