Dieser Artikel ist ein Artikel vom 18. Dezember des Maya-Python-Adventskalenders 2016.
Wie Sie alle wissen, hat Maya 2017 PySide in PySide2 geändert.
Diese Änderung hat einige Probleme verursacht.
Ich denke darüber nach, PySide2 zu überprüfen, um eine Lösung zu finden, aber Maya verwendet die Alpha-Version von PySide2. Noch nicht in [PyPI] registriert (https://pypi.python.org/pypi?%3Aaction=search&term=pyside&submit=search). Es ist nicht in den zuverlässigen Inoffiziellen Windows-Binärdateien für Python-Erweiterungspakete verfügbar.
Es ist aus tiefstem Herzen ärgerlich, aber ich werde versuchen, es zu bauen. Vielleicht wird es scheitern, aber ich hoffe, es hilft jemandem sogar ein wenig.
Ich habe das Gefühl, es ist voller Dämonen, aber ich habe die folgende Umgebung überprüft. Ich empfehle Visual Studio 2008, aber es gefällt mir nicht, deshalb verwende ich es nicht.
http://wiki.qt.io/PySide2_GettingStarted
Installation der notwendigen Software vorerst. Da der PC relativ neu ist, gibt es nicht viele.
Da es von virtualenv empfohlen wird, erstellen Sie es und aktivieren Sie es.
pushd C:\pyside
python -m virtualenv venv27
venv27\Scripts\activate.bat
git submodule --init
Da pyside-setup.git über das Submodul mit dem Repository von pyside2 und shiboken2 verbunden ist, git submodule --init. Ich mache es mit TortoiseGit, weil es nervt, also werde ich den Befehl weglassen.
Ich habe in allen Submodulen einen Fehler erhalten, aber als ich es erneut versuchte, bekam ich keinen Fehler und es war erfolgreich.
Magie
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
Erstellen Sie durch Angabe des Pfads
python setup.py install --build-tests --qmake="C:\Qt\5.6\msvc2015_64\bin\qmake.exe" --cmake="C:\Program Files\CMake\bin\cmake.exe"
Error
[ 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:Modul Computertyp'x64'Ist der Typ des Zielcomputers'X86'Steht im Konflikt mit.
LINK failed. with 1112
NMAKE : fatal error U1077: '"C:\Program Files\CMake\bin\cmake.exe"' :Rückgabe Code'0xffffffff'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' :Rückgabe Code'0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' :Rückgabe Code'0x2'
Stop.
error: Error compiling shiboken2
Früh. Ist es nicht mit 64bit gebaut?
Es scheint, dass der Link des Testprogramms einen Fehler ausgibt. Erstellen wir also keinen Test.
python setup.py install --qmake="C:\Qt\5.6\msvc2015_64\bin\qmake.exe" --cmake="C:\Program Files\CMake\bin\cmake.exe"
Es ist viel fortgeschritten (obwohl es siboken2 ist), aber es ist immer noch ein Fehler
[ 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:Modul Computertyp'x64'Ist der Typ des Zielcomputers'X86'Steht im Konflikt mit.
LINK failed. with 1112
NMAKE : fatal error U1077: '"C:\Program Files\CMake\bin\cmake.exe"' :Rückgabe Code'0xffffffff'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' :Rückgabe Code'0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' :Rückgabe Code'0x2'
Stop.
error: Error compiling shiboken2
Lassen Sie uns ernsthaft untersuchen. Wo geben Sie X64 an?
Immerhin verstehe ich nicht, auch wenn ich das Makefile lese.
In CMake finden Sie einige Artikel, die es zur Eingabeaufforderung von Visual Studio 2015 machen.
"Magie" war süß.
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
Es gab auch eine Option zum Festlegen der Raderstellung, und es scheint, dass der Befehl git problemlos ausgeführt werden kann. Ändern Sie daher die Befehlsoption, um ihn zu deaktivieren und den Build auszuführen.
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"
Es gab auch eine Option zum Festlegen von OpenSSL in setup.py. Wenn Sie sich das Protokoll genau ansehen, ist OpenSSL deaktiviert. 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 Minuten später ...
Ich ging durch den Bau. Es gibt einige seltsame Dinge ...
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>
Das Radausgabeziel ist `` `dist \ PySide2-2.0.0.dev0-cp27-cp27m-win_amd64.whl```. Wenn Sie die Pip-Installation in der aktuellen Umgebung durchführen, ist es schwierig, die Ursache zu verstehen, wenn ein Problem auftritt. Erstellen Sie daher eine neue virtuelle Umgebung und installieren Sie sie.
(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
Lassen Sie uns überprüfen, ob das Beispiel funktioniert.
(venv_pyside) C:\pyside>python pyside-setup\sources\pyside2-examples\examples\dialogs\standarddialogs.py
Es funktionierte.
Der gewünschte Ressourcen-Compiler! Überprüfen Sie vorerst nur die Atmosphäre, die sich zu bewegen scheint, und überprüfen Sie diesmal den Betrieb erneut. 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
Überraschenderweise verlief der Bau reibungslos und war in sehr kurzer Zeit abgeschlossen.
"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
Ich habe vergessen, eine Revision der Quelle zu schreiben.
> 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 ist ebenfalls ungültig und ich habe den Vorgang überhaupt nicht bestätigt, werde ihn aber vorerst weitergeben. Laden Sie [hier] herunter (https://drive.google.com/file/d/0B8iSX-bz8WcHWnc4THVZZ2pXVm8/view?usp=sharing)
https://fredrikaverpil.github.io/2016/08/17/compiling-pyside2/