web-dev-qa-db-fra.com

Comment utiliser wxPython pour Python 3?

J'ai installé wxPython 3.0.1.1, mais je ne parviens pas à import wx à utiliser Python 3.4.1. Je reçois l'erreur suivante:

Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 00:54:21) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'wx'

Néanmoins, je peux import wx si j'utilise Python 2.7 (l'installation par défaut dans mon OS X 10.9):

Python 2.7.5 (default, Mar  9 2014, 22:15:05) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>>

Comment utiliser wxPython pour Python 3 et plus particulièrement pour Python 3.4.1?

10
Nick

Vous avez deux pythons différents installés sur votre machine (3.4.1 et 2.7.5). Ne vous attendez pas à pouvoir utiliser un paquet installé dans un python (wxPython 3.0.1.1 à python 2.7.5) automatiquement pour être disponible dans un autre python.

De plus, wxPython (classic) ne fonctionne pas pour Python 3. Vous devez disposer de wxPython Phoenix pour pouvoir le faire.

EDIT: La méthode recommandée (par @RobinDunn) pour installer wxPython (la variété Phoenix qui fonctionnera sur les versions 2.7 et 3, maintenant hébergée sur PyPI ) est en train de faire:

pip install wxPython

Si vous avez la version développeur installée, procédez simplement comme suit:

pip uninstall wxPython_Phoenix

Vous pouvez essayer d’installer l’un des les instantanés wxPython Phoenix dans votre Python 3.4.1. Cependant, sachez que Phoenix n’est pas compatible à 1000% avec classic et que vous risquez de rencontrer un hoquet lors de la réutilisation de code classique ( mais la transition est faisable et vaut la peine).

Vous pouvez trouver une explication/description complète dans le wiki wxPython suivant en cliquant sur le lien suivant:

Installation de wxPython-Phoenix à l'aide de pip

Il y a plusieurs points importants:

  • pip/setuptool est suffisamment nouveau (> 6.x.x /> 12.x.x)

  • que les compilations sont "inofficielles" et que pip refuse de l'installer: vous devez donc ajouter --pre lors de l'installation avec pip.

  • que vous renoncez à la vérification SSL --trusted-Host wxpython.org (n'est plus nécessaire dans les versions modernes où https fonctionne désormais correctement).

Commande complète pour les machines Windows:

C:\python27\scripts\pip.exe install --upgrade --pre -f https://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix

Notez que cela installera wxPython Phoenix for Python 2.7.

12
nepix32

Pour utiliser wxPython avec votre Python 3.4x, vous devez utiliser wxPython Phoenix - comme d'autres l'ont souligné. Pour l'installer vous pouvez faire:

pip install -U --pre -f http://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix 

Notez l'espace après le dernier '/' et wxPython_Phoenix

7
Werner

Comme il semble, wxPython n’est pas encore complètement porté pour Python 3, bien que le numéro de version puisse le suggérer. C'est pourquoi les modules wx ne sont pas ajoutés au sys.path de Python 3. 

Vous pouvez choisir d'utiliser wxPython à partir de Python 2.7 ou jeter un oeil à cette entrée SO: Toujours pas de wxPython pour Python 3 (ou 3.3)? C'est ce que @ nepix32 a suggéré.

Vous pouvez également utiliser une autre bibliothèque d'interface graphique qui fonctionne avec Python 3. Voici un list

2
jotrocken

Vérifiez votre chemin sys.path dans un interpréteur:

import sys
sys.path

Si vous n'avez pas le bon lien vers le bon répertoire, cela ne fonctionnera pas.

En outre, vérifiez Lib/site-packages dans votre répertoire python pour vous assurer que wx est correctement installé sur votre python 3. (il devrait y avoir un répertoire commençant par "wx-3.0")

0
inirlan

Peut-être que les solutions données précédemment fonctionnaient auparavant. Mais ce qui a fonctionné pour moi aujourd'hui (1er juin 2017) a été:

pip install - U - - pre - f https://wxpython.org/Phoenix/snapshot-builds/ wxPython

Toujours vérifier le fichier Readme.txt pour celui-ci ... 

0
Seyi Shoboyejo