wxPython для Python 3
Есть ли у wxPython версия для Python 3?
Если это произойдет, где я могу получить это?
8 ответов
Обновленные новости по этому вопросу публикуются в wxpython wiki. Здесь вы можете найти несколько правок, обновляющих первоначальный ответ (первый более поздний)
Декабрь 2011: отличные новости! Первая сборка проекта Phoenix - новый wxPython, который будет поддерживать Python 2.x и 3.x. Текущие сборки для Python 2.7.
Ноябрь 2011: последнее обновление вики от 19 апреля 2011 года. == Нет новостей для 3.x:-(
Предварительная дорожная карта wxPython
wxPython "Next Generation": (продолжается) В течение последних нескольких лет периодически обсуждались совершенно новые способы генерации кода, используемого для модулей расширения wxPython (он же является кодом оболочки C++). Для этой цели была проделана определенная проектная работа, и было реализовано подтверждение концепции. В двух словах, доказательство концепции превзошло все мои ожидания, и я чувствую, что это будет отличным способом автоматизировать процесс генерации кода-обертки. Более подробную информацию о целях и дизайне нового wxPython можно найти в ProjectPhoenix, а исходный код можно посмотреть в репозитории wx. Хотя новый подход в будущем значительно упростит обслуживание wxPython, все еще предстоит проделать большой объем работы по переходу, и поэтому он не станет задачей с наивысшим приоритетом, пока не будет завершено и проверено больше основополагающих частей низкого уровня. Тем временем текущий выпуск 2.9.x ReleaseSeries будет продолжать развиваться, используя старую технологию. #
Поддержка Python 3.x: (неизвестно) Ожидается, что некоторые действия, выполняемые для проекта Next Generation, упростят возможность поддерживать поддержку Python 2.x и 3.x в одном и том же дереве исходных текстов, поэтому мы откладываем много усилий на порт Python 3.x, чтобы не тратить время на что-то, что может закончиться тем, что его выбросят, как только будет сделан NG-переключатель. Однако если этот проект следующего поколения останется в ожидании слишком долго, я, вероятно, еще раз вернусь к этому пункту и увеличу приоритет.
На данный момент (ноябрь 2011) wxPython, после Django, является самым желанным пакетом для Python 3-кодировщиков:
Вот 15 наиболее часто назначаемых пакетов, где пользователи хотят поддержку Python 3
Пакет Количество голосов
Джанго 1970
wxPython 941
Matplotlib 875
..................
..................
Июнь 2010: в py3k нет расписания для wxpython
Предварительная дорожная карта wxPython
- wxPython "Next Generation": (будущее) В течение последних нескольких лет периодически обсуждались совершенно новые способы генерации кода, используемого для модулей расширения wxPython (он же является кодом оболочки C++). Для этой цели была проделана определенная работа по проектированию, и началась некоторая работа над инструментами. Однако, поскольку работа над этим продвигалась медленно, я решил немного ее приостановить, чтобы я мог передать некоторые новые функции и исправления из серии выпусков 2.9 в руки разработчиков wxPython. Я ожидаю, что смогу вернуться к этой цели через некоторое время после выпуска 2.9.1. Как только дизайн, планы и инструменты будут готовы, я опубликую больше информации об этом и открою для других разработчиков, чтобы помочь.
- Поддержка Python 2.7: (сейчас) Машины сборки Windows и OSX были обновлены до Python 2.7, а двоичные файлы для 2.7 включены в 2.8.11.0 и будут включены в будущие предварительные сборки и выпуски.
- Поддержка Python 3.x: (неизвестно) Я надеюсь, что некоторые вещи, которые будут сделаны для проекта Next Generation, упростят возможность поддерживать поддержку Python 2.x и 3.x в одном и том же дереве исходных текстов, поэтому Я откладываю много усилий на порте Python 3.x, чтобы не тратить время на что-то, что может в конечном итоге быть выброшено после переключения NG. Однако если этот проект следующего поколения останется в ожидании слишком долго, я, вероятно, еще раз вернусь к этому пункту и увеличу приоритет.
Из новостных групп:
- Дорожная карта для python 3 и wxpython? (17 июля 2009 г.)
- Сроки Python 3+ (4 сентября 2009 г.)
- wxWidgets и Python 3.1 (20 ноября 2009 г.)
- ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ? Когда wxPython готов для Python v3? (15 февраля 2010 г.)
Обратите внимание, что PyQt теперь поддерживает Python 3, поэтому, возможно, этот вариант стоит рассмотреть.
wxPython 4 был выпущен 2018-01-31 и теперь доступен для установки в pip. Он поддерживает Python 2.7 и Python 3.4+. Вы можете найти его на PyPI здесь:
Если вы переходите с wxPython 2.8 или 3.0 на wxPython 4, вам понадобятся следующие статьи:
- https://wxpython.org/Phoenix/docs/html/MigrationGuide.html
- https://wxpython.org/Phoenix/docs/html/classic_vs_phoenix.html
Старые версии wxPython все еще находятся на SourceForge
Нет. На данный момент последняя версия Python, которую он поддерживает, - 2.6.
В Py3K есть изменения в C API, поэтому вам придется набраться терпения. Это займет некоторое время, прежде чем все библиотеки будут портированы.
Подтверждено, что wxpython работает с python3.3.Спецификация системы: Windows 8.1 64bit. Python был впервые установлен на этой новой машине (поэтому предыдущих версий не существует).Цель: заставить matplotlib работать с их примерами из wx.
Примечания по настройке:
Возьмите wxpython из библиотеки снимков, перечисленной в посте Вернера выше (например, wxpython для py3.3, 64 бит). wxversion не был включен, поэтому получил его от MIT. Также разместите его в пакетах сайта.
преобразовать содержимое в wxversion для совместимости с py 3.3. т.е. замените has_key на in и try, за исключением конструкций, которые будут использоваться вместо ",". Когда вы запустите код в eclipse или подобном, интерпретатор скажет вам, что ему не нравится.
Для установки matplotlib мне не нужно было добавлять wxversion.select() в пример кода, но matplotlib действительно нуждался в этом модуле. Попытка вызова select () не удалась бы для любой выбранной версии (даже с большим диапазоном возможных номеров версии XX).
Пока нет бинарных инсталляторов, но обычные сборки снимков, которые легко установить.
http://wxpython.org/Phoenix/snapshot-builds/
Я запускаю его в Windows и просто создаю папку в пакетах сайта, например, "\site-packages\wx-2.9.6-msw" и копирую в нее папку "wx" из снимка-сборки, а затем использую wxversion для работы с этим.
import wxversion
import twcbsrc.configdev as cfd
wxversion.select('2.9.6')
Эта команда c:\Python34\Scripts\pip install -U --pre -f http://wxPython.org/Phoenix/snapshot-builds/ wxPython_Phoenix
должен получить последнюю версию Phoenix для любой ОС, так как теперь поддерживаются форматы файлов колеса Python.
Если вы столкнулись с проблемой при установке wxpython на Python3, используйте эту команду для установки wxpython
$ pip install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04 wxPython
С помощью этой команды вы можете установить последнюю версию wxPython4. Если вы используете Windows или MacOS
$ pip install -U wxpython
Если вы хотите использовать Anaconda Venv, используйте это
$conda intall -c anaconda wxpython