web-dev-qa-db-fra.com

wxPython pour Python 3

Est-ce que wxPython a une version pour Python 3?

Si c'est le cas, où puis-je l'obtenir?

43
Jijoy

Des nouvelles mises à jour sur cette question sont publiées dans le wxpython wiki . Vous pouvez y trouver les modifications les plus fréquentes mettant à jour la réponse initiale (la plus récente en premier)

Décembre 2011: Bonnes nouvelles! Première construction de projet Phoenix le nouveau wxPython qui supportera à la fois Python 2.x et 3.x. Les versions actuelles sont cependant pour Python 2.7.

Novembre 2011: La dernière mise à jour du wiki date du 19 avril 2011. == Aucune nouvelle pour 3.x :-(

Feuille de route provisoire avec wxPython

  • wxPython "Next Generation": (en cours) Ces dernières années, des discussions ont eu lieu sur une nouvelle façon de générer le code utilisé pour les modules d'extension wxPython (a.k.a, le code de wrapper C++). Certains travaux de conception ont été effectués dans ce but et une validation du concept a été mise en œuvre. En résumé, la preuve de concept a dépassé toutes mes attentes et j'estime qu'il s'agira d'un excellent moyen d'automatiser davantage la génération du code de wrapper. Plus d'informations sur les objectifs et la conception du nouveau wxPython sont disponibles sur ProjectPhoenix, et le code source peut être consulté dans le référentiel wx. Bien que la nouvelle approche simplifie grandement la maintenance de wxPython à l’avenir, la transition nécessite encore beaucoup de travail. Elle ne deviendra donc pas la tâche la plus prioritaire tant que les éléments fondamentaux de bas niveau ne seront pas complétés et vérifiés. Entre-temps, la version actuelle 2.9.x ReleaseSeries continuera de progresser avec l'ancienne technologie . #

  • Prise en charge de Python 3.x: (inconnue) Certaines opérations effectuées dans le projet Next Generation faciliteront la prise en charge de la prise en charge de Python 2.x et 3.x dans le même source. J'ai donc tardé à mettre beaucoup d'efforts dans un port Python 3.x afin d'éviter de perdre du temps sur quelque chose qui pourrait être jeté une fois le commutateur NG activé. Si ce projet de nouvelle génération reste trop longtemps en attente, je reviendrai probablement sur cet élément pour passer à la priorité.

En ce moment (novembre 2011), wxPython est, après Django, le paquet le plus désiré pour Python 3-coders:

Voici les 15 plus nominés paquets où les utilisateurs désirent Python 3 soutien

Package Nombre de votes
Django 1970
wxPython 941
matplotlib 875
..................
.................. 

Juin 2010: Il n'y a pas de planification pour wxpython dans py3k

Feuille de route provisoire avec wxPython

  • wxPython "Prochaine génération": (futur) Il y a eu quelques discussions au cours des dernières années sur une toute nouvelle façon de générer le code utilisé pour les modules d'extension wxPython (a.k.a, le code de wrapper C++). Certains travaux de conception ont été effectués dans ce but, et certains travaux sur les outils ont commencé. Cependant, le travail progressant lentement sur ce sujet, j'ai décidé de le mettre en attente un peu afin de pouvoir mettre quelques nouvelles fonctionnalités et corrections dans la série 2.9 à la disposition des développeurs de wxPython. Je pense pouvoir revenir à cet objectif après la publication de la version 2.9.1. Une fois que la conception, les plans et les outils sont suffisamment complets, je publierai plus d'informations à ce sujet et les ouvrirai aux autres développeurs.
  • Prise en charge de Python 2.7: (maintenant) Les machines de génération Windows et OSX ont été mises à jour avec Python 2.7 et les fichiers binaires pour 2.7 ont été inclus avec 2.8.11.0 et seront inclus dans les versions et versions de prévisualisation futures.
  • Support Python 3.x: (inconnu) J'espère que certaines tâches effectuées dans le projet Next Generation faciliteront la gestion du support pour Python 2.x et 3.x dans le même système. J'ai donc tardé à mettre beaucoup d'efforts dans un port Python 3.x afin d'éviter de perdre du temps sur quelque chose qui pourrait être jeté une fois le commutateur NG activé. Si ce projet de nouvelle génération reste trop longtemps en attente, je reviendrai probablement sur cet élément pour passer à la priorité. 
20
joaquin

À partir des groupes de discussion:

Notez que PyQt prend désormais en charge Python 3 , alors c’est peut-être une option à considérer.

6
Craig McQueen

Non. Pour l'instant, la dernière version de Python prise en charge est la version 2.6. 

Dans le Py3K, il y a des changements dans l'API C , vous devrez donc être patient. Cela prendra du temps avant que toutes les bibliothèques ne soient portées.

3
vartec

Aucun programme d'installation binaire pour le moment, mais des versions de capture instantanée simples et faciles à installer.

http://wxpython.org/Phoenix/snapshot-builds/

Je l’exécute sous Windows et je crée un dossier dans les packages de site, par exemple. "\ site-packages\wx-2.9.6-msw" et copiez le dossier "wx" du snapshot-build dans celui-ci, puis j'utilise wxversion pour le gérer.

import wxversion
import twcbsrc.configdev as cfd
wxversion.select('2.9.6')
3
Werner

Confirmé wxpython fonctionne avec python3.3 .Spéc. Système: Windows 8.1 64 bits. Python était une première installation sur cette nouvelle machine (il n’existait donc pas de version précédente) .Objective: permet à matplotlib de fonctionner avec ses exemples wx.

Notes d'installation:

  1. Récupérez le fichier wxpython dans la bibliothèque d'images instantanées répertoriée dans Werners post Ci-dessus (par exemple, wxpython pour py3.3, 64 bits). wxversion n’a pas été inclus, l’a donc obtenue de mit . Placez-le également dans les packages de site.

  2. convertir le contenu de wxversion pour qu'il soit compatible avec py 3.3. ie remplace has_key par in et les constructions try sauf à utiliser comme au lieu de ",". Lorsque vous exécutez le code dans Eclipse ou similaire, l’interprète .__ vous dira ce qu’il n’aime pas.

  3. Pour la configuration de matplotlib, je n'ai pas eu besoin d'ajouter wxversion.select () dans Le code exemple, mais matplotlib avait besoin de ce module. Essayer un appel Select () échouerait pour toutes les versions que je choisirais (même avec une longue plage De numéros de version X.X possibles).

3
Evan

wxPython 4 a été publié le 2018-01-31 et est maintenant installable par pip. Il supporte Python 2.7 et Python 3.4+. Vous pouvez le trouver sur PyPI ici:

Si vous migrez de wxPython 2.8 ou 3.0 vers wxPython 4, vous souhaiterez consulter les articles suivants:

Les anciennes versions de wxPython sont toujours sur SourceForge

1
Mike Driscoll

Si vous rencontrez des difficultés pour installer wxpython sur Python3, utilisez cette commande pour installer wxpython.

$ pip install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04 wxPython

Avec cette commande, vous pouvez installer la dernière version de wxPython4 . Si vous utilisez Windows ou macOS

$ pip install -U wxpython

Si vous voulez utiliser Anaconda venv utilisez cette

$conda intall -c anaconda wxpython
0
Aryan

Cette commande c:\Python34\Scripts\pip install -U --pre -f http://wxPython.org/Phoenix/snapshot-builds/ wxPython_Phoenix devrait vous procurer la dernière version de Phoenix sur n’importe quel système d’exploitation, car les formats de fichier Python Wheel sont maintenant pris en charge.

0
Mark Lawrence