Cet article est un article du 18 décembre du Calendrier de l'Avent Maya-Python 2016.
Comme vous le savez tous, Maya 2017 a changé PySide en PySide2.
Ce changement a causé quelques problèmes.
Je pense vérifier PySide2 afin de trouver une solution, mais Maya utilise la version alpha de PySide2. Pas encore enregistré dans PyPI. Il n'est pas disponible dans les binaires Windows non officiels pour les packages d'extension Python.
C'est ennuyeux du fond du cœur, mais je vais essayer de le construire. Peut-être que cela échouera, mais j'espère que cela aidera un peu quelqu'un.
J'ai l'impression que c'est plein de démons, mais j'ai vérifié l'environnement suivant. Je recommande Visual Studio 2008, mais je ne l'aime pas donc je ne l'utilise pas.
http://wiki.qt.io/PySide2_GettingStarted
Installation des logiciels nécessaires pour le moment. Le PC étant relativement récent, il n'y en a pas beaucoup.
C: \ pyside \ pyside-setup```Puisqu'il est recommandé par virtualenv, créez-le et activez-le.
pushd C:\pyside
python -m virtualenv venv27
venv27\Scripts\activate.bat
git submodule --init
Puisque pyside-setup.git est connecté au référentiel de pyside2 et shiboken2 par sous-module, git submodule --init. Je le fais avec TortoiseGit parce que c'est ennuyeux, alors je vais omettre la commande.
J'ai eu une erreur dans tous les sous-modules, mais quand j'ai essayé à nouveau, je n'ai eu aucune erreur et cela a réussi.
la magie
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
Construire en spécifiant le chemin
python setup.py install --build-tests --qmake="C:\Qt\5.6\msvc2015_64\bin\qmake.exe" --cmake="C:\Program Files\CMake\bin\cmake.exe"
Erreur
[ 10%] Building CXX object ApiExtractor/tests/CMakeFiles/testdtorinformation.dir/testdtorinformation_automoc.cpp.obj
testdtorinformation_automoc.cpp
[ 10%] Linking CXX executable testdtorinformation.exe
Qt5Core.lib(Qt5Core.dll) : fatal error LNK1112:Type d'ordinateur du module'x64'Est le type d'ordinateur cible'X86'Est en conflit avec.
LINK failed. with 1112
NMAKE : fatal error U1077: '"C:\Program Files\CMake\bin\cmake.exe"' :Code de retour'0xffffffff'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' :Code de retour'0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' :Code de retour'0x2'
Stop.
error: Error compiling shiboken2
De bonne heure. N'est-il pas construit avec 64 bits?
Il semble que le lien du programme de test donne une erreur, alors ne créons pas de test.
python setup.py install --qmake="C:\Qt\5.6\msvc2015_64\bin\qmake.exe" --cmake="C:\Program Files\CMake\bin\cmake.exe"
C'est beaucoup avancé (bien que ce soit siboken2), mais c'est toujours une erreur
[ 80%] Building CXX object libshiboken/CMakeFiles/libshiboken.dir/shibokenbuffer.cpp.obj
shibokenbuffer.cpp
[ 81%] Linking CXX shared library shiboken2.dll
python27.lib(python27.dll) : fatal error LNK1112:Type d'ordinateur du module'x64'Est le type d'ordinateur cible'X86'Est en conflit avec.
LINK failed. with 1112
NMAKE : fatal error U1077: '"C:\Program Files\CMake\bin\cmake.exe"' :Code de retour'0xffffffff'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' :Code de retour'0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' :Code de retour'0x2'
Stop.
error: Error compiling shiboken2
Examinons sérieusement. Où spécifiez-vous X64?
Après tout, je ne comprends pas même si je lis le Makefile.
Dans CMake, vous pouvez trouver des articles qui en font l'invite de commande fournie avec Visual Studio 2015.
"Magic" était doux.
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
Il y avait aussi une option pour spécifier la création de roue, et il semble que la commande git sera exécutée facilement, alors changez l'option de commande pour la désactiver et exécuter la construction.
python setup.py bdist_wheel --ignore-git --qmake="C:\Qt\5.6\msvc2015_64\bin\qmake.exe" --cmake="C:\Program Files\CMake\bin\cmake.exe"
Il y avait également une option pour spécifier OpenSSL dans setup.py, donc si vous regardez attentivement le journal, OpenSSL est désactivé. Acha, Maika
Qt docs: C:/Qt/Docs/Qt-5.6
Qt plugins: C:/Qt/5.6/msvc2015_64/plugins
---
OpenSSL libs: None
==============================
Building module shiboken2...
30 minutes plus tard ...
Je suis passé par la construction. Il y a des choses étranges ...
running install_egg_info
Copying pyside_package\PySide2.egg-info to build\bdist.win-amd64\wheel\.\PySide2-2.0.0.dev0-py2.7.egg-info
running install_scripts
*** Install completed
C:\pyside\venv27\lib\site-packages\wheel\pep425tags.py:77: RuntimeWarning: Config variable 'Py_DEBUG' is unset, Python ABI tag may be incorrect
warn=(impl == 'cp')):
C:\pyside\venv27\lib\site-packages\wheel\pep425tags.py:81: RuntimeWarning: Config variable 'WITH_PYMALLOC' is unset, Python ABI tag may be incorrect
warn=(impl == 'cp')):
C:\pyside\venv27\lib\site-packages\wheel\pep425tags.py:87: RuntimeWarning: Config variable 'Py_UNICODE_SIZE' is unset, Python ABI tag may be incorrect
sys.version_info < (3, 3))) \
creating build\bdist.win-amd64\wheel\PySide2-2.0.0.dev0.dist-info\WHEEL
(venv27) C:\pyside\pyside-setup>
La destination de sortie de la roue est
dist \ PySide2-2.0.0.dev0-cp27-cp27m-win_amd64.whl ''.
Si vous installez dans l'environnement actuel, il est difficile de comprendre la cause lorsqu'un problème survient, alors créez un nouveau virtualenv et installez-le.
(venv27) C:\pyside\pyside-setup>deactivate
C:\pyside\pyside-setup>cd ..
C:\pyside>
C:\pyside>python -m virtualenv venv_pyside
C:\pyside>venv_pyside\Scripts\activate.bat
(venv_pyside) C:\pyside>python -m pip install pyside-setup\dist\PySide2-2.0.0.dev0-cp27-cp27m-win_amd64.whl
Processing c:\pyside\pyside-setup\dist\pyside2-2.0.0.dev0-cp27-cp27m-win_amd64.whl
Installing collected packages: PySide2
Successfully installed PySide2-2.0.0.dev0
(venv_pyside) C:\pyside>python -m pip freeze
PySide2==2.0.0.dev0
Vérifions si l'exemple fonctionne.
(venv_pyside) C:\pyside>python pyside-setup\sources\pyside2-examples\examples\dialogs\standarddialogs.py
Ça a marché.
Le compilateur de ressources souhaité! Pour le moment, vérifiez uniquement l'atmosphère qui semble bouger, et revérifiez l'opération cette fois. Huh.
(venv_pyside) C:\pyside>C:\pyside\venv_pyside\Lib\site-packages\PySide2\pyside2-rcc.exe
PySide2 resource compiler
Usage: C:\pyside\venv_pyside\Lib\site-packages\PySide2\pyside2-rcc.exe [options] <inputs>
Options:
-o file Write output to file rather than stdout
-py2 Generate code for any Python v2.x version
-py3 Generate code for any Python v3.x version (default)
-name name Create an external initialization function with name
-threshold level Threshold to consider compressing files
-compress level Compress input files by level
-root path Prefix resource access path with root path
-no-compress Disable all compression
-version Display version
-help Display this information
Étonnamment, la construction s'est bien déroulée et s'est terminée en très peu de temps.
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
python setup.py bdist_wheel --ignore-git --qmake="C:\Qt\5.6\msvc2015_64\bin\qmake.exe" --cmake="C:\Program Files\CMake\bin\cmake.exe"
python -m pip install dist\PySide2-2.0.0.dev0-cp27-cp27m-win_amd64.whl
J'ai oublié d'écrire une révision de la source.
> git rev-parse HEAD
6026e8b4f22d630e4e61424e153a605c060c22bb
> git submodule status
+eef6e46bf205e76616ae3fbfca92c917df22b6c4 sources/pyside2 (1.2.2-399-geef6e46)
+4ca11515b6c5376269cb91a4975e8c5b71a2cdb4 sources/pyside2-examples (heads/dev)
7fe32567c75b6b9985b9efbecf74477c9e829fb2 sources/pyside2-tools (heads/dev)
+8611bda3b346762e0589402f130b73f20dd75914 sources/shiboken2 (1.2.2-168-g8611bda)
+ed7b7ceddc2c0ec6115d58a0611441d972ea1f97 wiki (heads/master)
OpenSSL est également invalide et je n'ai pas du tout confirmé l'opération, mais je la partagerai pour le moment. Télécharger ici
https://fredrikaverpil.github.io/2016/08/17/compiling-pyside2/