Hi zusammen,
ich habe Pythonprojekte, die PySide 1.x in einem Virtualenv benötigen. Nach dem Upgrade auf Xenial kommt dies mit Python 3.5 aus den Paketquellen, welches von PySide noch nicht unterstützt wird. Daher benutze ich pyenv um andere Pythonversionen zu verwalten und habe mit
1 | pyenv install 3.4.5 |
Python 3.4 nachinstalliert, welches auch läuft. Dann benutze ich
1 | pyvenv-3.4 venv
|
um ein Virtualenv auf Basis von Python 3.4 zu erzeugen. Dann wechsle in dort hinein und will PySide installieren:
1 2 3 | source venv/bin/activate pip install --upgrade pip pip install PySide |
Die Compilierung bricht ab mit:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [ 81%] Linking CXX shared library libshiboken.cpython-34m.so collect2: fatal error: ld terminated with signal 6 [Abgebrochen], core dumped compilation terminated. /usr/bin/ld: ld: wcsrtombs.c:94: __wcsrtombs: Zusicherung »data.__outbuf[-1] == '\0'« nicht erfüllt. libshiboken/CMakeFiles/libshiboken.dir/build.make:381: die Regel für Ziel „libshiboken/libshiboken.cpython-34m.so.1.2.4“ scheiterte make[2]: *** [libshiboken/libshiboken.cpython-34m.so.1.2.4] Fehler 1 make[2]: *** Datei „libshiboken/libshiboken.cpython-34m.so.1.2.4“ wird gelöscht CMakeFiles/Makefile2:204: die Regel für Ziel „libshiboken/CMakeFiles/libshiboken.dir/all“ scheiterte make[1]: *** [libshiboken/CMakeFiles/libshiboken.dir/all] Fehler 2 Makefile:127: die Regel für Ziel „all“ scheiterte make: *** [all] Fehler 2 error: Error compiling shiboken ---------------------------------------- Command "/home/barrios/code/pysidetest/venv/bin/python3.4 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-wgx9kvqk/PySide/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-c3zmhk0x-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/barrios/code/pysidetest/venv/include/site/python3.4/PySide" failed with error code 1 in /tmp/pip-build-wgx9kvqk/PySide/ |
Allerdings finde ich auch die genauen build dependencies nirgendwo? Die bei pyside-rtd sind für Python 2.7. Ich habe mich dann hieran orientiert: https://launchpad.net/ubuntu/xenial/+source/pyside
Ich nutze jetzt PyQt5 stattdessen, würde aber gern zu PySide zurückkehren. Bin für jeden Rat dankbar!
EDIT: Könnte es helfen CPython aus dem source zu compilieren statt pyenv zu verwenden, und wenn ja mit welcher Konfiguration?