Как я могу установить wxPython 3.0.1.1 в Python 2.7 virtualenv на Ubuntu 14.10?
Следующая процедура не выполняется. Я что-то пропустил?
- Установите различные пакеты Ubuntu (предварительные условия для компиляции)
- Получить http://downloads.sourceforge.net/wxpython/wxPython-src-3.0.1.1.tar.bz2
- Распаковать в
wxPython-src-3.0.1.1/
- Создать новый virtualenv под названием
test
- активировать
test
virtualenv В терминале, от
wxPython-src-3.0.1.1/
:./configure --prefix=/home/username/.virtualenvs/test --with-gtk2 --enable-unicode --with-opengl #lots of output, confirms "Configured wxWidgets 3.0.1 for `x86_64-unknown-linux-gnu'" make install #lots of output, confirms: # The installation of wxWidgets is finished. On certain # platforms (e.g. Linux) you'll now have to run ldconfig # if you installed a shared library and also modify the # LD_LIBRARY_PATH (or equivalent) environment variable. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.virtualenvs/test/lib # don't run ldconfig since that is a system tool, not appropriate for virtualenv? cd wxPython python setup.py install # lots of output, starting: # WARNING: WXWIN not set in environment. Assuming '..' # Found wx-config: /home/username/.virtualenvs/test/bin/wx-config # Using flags: --toolkit=gtk2 --unicode=yes --version=3.0 # Preparing CORE... # Preparing STC... # Preparing GLCANVAS... # Preparing GIZMOS... # running install # etc
Последняя команда терпит неудачу с:
src/gtk/_core_wrap.cpp:20407:7: note: ‘arg3’ was declared here
int arg3 ;
^
src/gtk/_core_wrap.cpp: In function ‘PyObject* _wrap_Image_SetAlphaBuffer(PyObject*, PyObject*, PyObject*)’:
src/gtk/_core_wrap.cpp:3747:13: warning: ‘arg3’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (ALPHASIZE != self->GetWidth() * self->GetHeight()) {
^
src/gtk/_core_wrap.cpp:20474:7: note: ‘arg3’ was declared here
int arg3 ;
^
cc1plus: some warnings being treated as errors
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
1 ответ
Решение
Я использовал python setup.py install &> ~/error.txt
передать сообщения об ошибках знающему коллеге, который определил, что компиляция C использовала -Werror=format-security
флаг. Эта версия wxPython (и, возможно, другие) не может компилироваться с этим флагом.
мой $CPPFLAGS
а также $CFLAGS
переменные среды были пустыми. Оказывается, этот флаг вызывается закалкой-оберткой.
Итак, я переопределил флаг, вызвав последний шаг следующим образом, и wxPython был успешно установлен:
CFLAGS=-Wno-error=format-security CPPFLAGS=-Wno-error=format-security python setup.py install