pip install in virtual environment

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
mechanicalStore
User
Beiträge: 178
Registriert: Dienstag 29. Dezember 2009, 00:09

Hallo Zusammen,

ich dachte, der Vorteil von virtuellen Umgebungen ist, dass alles vom restlichen System unabhängig ist. Jedoch funktioniert das Installieren von wxpython in virtuueller Umgebung nicht. Mein System ist manjaro linux und Python Version ist 3.11.3. Die in der Fehlermeldung monierten Pakete finde ich im systemweiten package manager nicht. Hat jemand eine Idee? Oder gibt es fertige Pakete, die man per pip installieren kann, bzw. die nicht erst gebaut werden müssen?

Hier mal die Ausgaben:

Code: Alles auswählen

(tut-env) ac-swift1% pip install wxPython
Collecting wxPython
  Using cached wxPython-4.2.1.tar.gz (73.7 MB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: pillow in ./tut-env/lib/python3.11/site-packages (from wxPython) (9.1.1)
Requirement already satisfied: six in ./tut-env/lib/python3.11/site-packages (from wxPython) (1.16.0)
Requirement already satisfied: numpy in ./tut-env/lib/python3.11/site-packages (from wxPython) (1.25.1)
Building wheels for collected packages: wxPython
  Building wheel for wxPython (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [127 lines of output]
      running bdist_wheel
      running build
      WARNING: Building this way assumes that all generated files have been
      generated already.  If that is not the case then use build.py directly
      to generate the source and perform the build stage.  You can use
      --skip-build with the bdist_* or install commands to avoid this
      message and the wxWidgets and Phoenix build steps in the future.
      
      "/home/******/Dokumente/develop/tut-env/bin/python" -u build.py build
      Will build using: "/home/******/Dokumente/develop/tut-env/bin/python"
      3.11.3 (main, Jun  5 2023, 09:32:32) [GCC 13.1.1 20230429]
      Python's architecture is 64bit
      cfg.VERSION: 4.2.1
      
      Running command: build
      Running command: build_wx
      wxWidgets build options: ['--wxpython', '--unicode', '--gtk3']
      Configure options: ['--enable-unicode', '--with-gtk=3', '--enable-sound', '--enable-graphics_ctx', '--enable-display', '--enable-geometry', '--enable-debug_flag', '--enable-optimise', '--disable-debugreport', '--enable-uiactionsim', '--enable-autoidman', '--with-sdl']
      /tmp/pip-install-qeejkrgs/wxpython_6abfda0bcf2c43f7b2e94ce3693fe3ed/ext/wxWidgets/configure --enable-unicode --with-gtk=3 --enable-sound --enable-graphics_ctx --enable-display --enable-geometry --enable-debug_flag --enable-optimise --disable-debugreport --enable-uiactionsim --enable-autoidman --with-sdl
      checking build system type... x86_64-pc-linux-gnu
      checking host system type... x86_64-pc-linux-gnu
      checking for toolkit... gtk
      checking for gcc... gcc
      checking whether the C compiler works... yes
      checking for C compiler default output file name... a.out
      checking for suffix of executables...
      checking whether we are cross compiling... no
      checking for suffix of object files... o
      checking whether we are using the GNU C compiler... yes
      checking whether gcc accepts -g... yes
      checking for gcc option to accept ISO C89... none needed
      checking whether we are using the Intel C compiler... no
      checking how to run the C preprocessor... gcc -E
      checking for grep that handles long lines and -e... /usr/bin/grep
      checking for egrep... /usr/bin/grep -E
      checking whether gcc needs -traditional... no
      checking for g++... g++
      checking whether we are using the GNU C++ compiler... yes
      checking whether g++ accepts -g... yes
      checking whether we are using the Intel C++ compiler... no
      checking whether we are using the Sun C++ compiler... no
      checking for ar... ar
      checking for ANSI C header files... yes
      checking for sys/types.h... yes
      checking for sys/stat.h... yes
      checking for stdlib.h... yes
      checking for string.h... yes
      checking for memory.h... yes
      checking for strings.h... yes
      checking for inttypes.h... yes
      checking for stdint.h... yes
      checking for unistd.h... yes
      checking for langinfo.h... yes
      checking for wchar.h... yes
      checking for sys/select.h... yes
      checking for cxxabi.h... yes
      checking for an ANSI C-conforming const... yes
      checking for inline... inline
      checking size of short... 2
      checking size of void *... 8
      checking size of int... 4
      checking size of long... 8
      checking size of size_t... 8
      checking size of long long... 8
      checking size of wchar_t... 4
      checking for va_copy... yes
      checking for _FILE_OFFSET_BITS value needed for large files... 64
      checking if large file support is available... yes
      checking for _LARGEFILE_SOURCE value needed for large files... no
      checking whether byte ordering is bigendian... no
      checking for std::wstring in <string>... yes
      checking for std::istream... yes
      checking for std::ostream... yes
      checking for type_traits... yes
      checking for __sync_xxx_and_fetch builtins... yes
      checking for libraries directories... /usr/lib
      checking for cos... no
      checking for floor... no
      checking if floating point functions link without -lm... no
      checking for sin... yes
      checking for ceil... yes
      checking if floating point functions link with -lm... yes
      checking for strtoull... yes
      checking for pkg-config... no
      checking for LIBPCRE... checking whether pcre submodule exists... yes
      checking for zlib.h >= 1.1.4... yes
      checking for zlib.h... (cached) yes
      checking for deflate in -lz... yes
      checking for png.h > 0.90... yes
      checking for png.h... (cached) yes
      checking for png_sig_cmp in -lpng... yes
      checking for jpeglib.h... yes
      checking for jpeg_read_header in -ljpeg... yes
      checking for jbg_dec_init in -ljbig... no
      checking for LIBTIFF... not found via pkg-config
      checking for tiffio.h... yes
      checking for TIFFError in -ltiff... yes
      checking for expat.h... yes
      checking if expat.h is valid C++ header... yes
      checking for XML_ParserCreate in -lexpat... yes
      checking for LIBCURL... not found
      checking for GTK+ version...
      checking for pkg-config... no
      checking for GTK+ - version >= 3.0.0... no
      *** A new enough version of pkg-config was not found.
      *** See http://pkgconfig.sourceforge.net
      configure: error:
      The development files for GTK+ were not found. For GTK+ 2, please
      ensure that pkg-config is in the path and that gtk+-2.0.pc is
      installed. For GTK+ 1.2 please check that gtk-config is in the path,
      and that the version is 1.2.3 or above. Also check that the
      libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
      --libs' are in the LD_LIBRARY_PATH or equivalent.
      
      Error running configure
      ERROR: failed building wxWidgets
      Traceback (most recent call last):
        File "/tmp/pip-install-qeejkrgs/wxpython_6abfda0bcf2c43f7b2e94ce3693fe3ed/build.py", line 1563, in cmd_build_wx
          wxbuild.main(wxDir(), build_options)
        File "/tmp/pip-install-qeejkrgs/wxpython_6abfda0bcf2c43f7b2e94ce3693fe3ed/buildtools/build_wxwidgets.py", line 379, in main
          exitIfError(wxBuilder.configure(dir=wxRootDir, options=configure_opts),
        File "/tmp/pip-install-qeejkrgs/wxpython_6abfda0bcf2c43f7b2e94ce3693fe3ed/buildtools/build_wxwidgets.py", line 72, in exitIfError
          raise builder.BuildError(msg)
      buildtools.builder.BuildError: Error running configure
      Finished command: build_wx (0m5.233s)
      Finished command: build (0m5.233s)
      Command '"/home/******/Dokumente/develop/tut-env/bin/python" -u build.py build' failed with exit code 1.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for wxPython
  Running setup.py clean for wxPython
Failed to build wxPython
ERROR: Could not build wheels for wxPython, which is required to install pyproject.toml-based projects
(tut-env) ac-swift1% 
Danke für Antworten.
nezzcarth
User
Beiträge: 1764
Registriert: Samstag 16. April 2011, 12:47

mechanicalStore hat geschrieben: Freitag 21. Juli 2023, 20:25 ich dachte, der Vorteil von virtuellen Umgebungen ist, dass alles vom restlichen System unabhängig ist.
Das stimmt so nicht. Virtuelle Umgebungen kapseln Python. Der eigentliche Interpreter im Venv ist per Default sogar oft nur ein Symlink auf den Systeminterpreter. Komplett unabhängig vom restlichen System ist da sehr wenig. Daher ist es deine Aufgabe, die notwendigen Bedingungen dafür zu schaffen, dass pip seine Arbeit machen kann. D.h. in dem Fall (und bei vielen anderen Paketen, die Wrapper um in C/C++ geschriebene Bibliothek sind), dass ein geeigneter Compiler und ggf. die Development-Header da sein müssen. Ich weiß nicht genau, wie es bei Manjaro ist, bei Paketen für Arch Linux lohnt es sich jedoch in solchen Fällen in das PKGBUILD zu schauen (https://gitlab.archlinux.org/archlinux/ ... n/PKGBUILD). Entscheidend ist in deinem Fall wohl vor allem webkit2gtk, wenn ich die Fehlermeldung richtig interpretiere. Grundsätzlich kann man über pip auch binäre Pakete installieren, wenn es sie für deine Plattform dort gibt. Das scheint hier aber nicht der Fall zu sein. Für Details S.a.: https://wxpython.org/pages/downloads/

EDIT: Wenn ich unter Arch die o.g. Pakete installiere, klappt es auch mit dem Installieren per pip problemlos. Dauert nur relativ lange.
Zuletzt geändert von nezzcarth am Freitag 21. Juli 2023, 21:37, insgesamt 4-mal geändert.
Benutzeravatar
__blackjack__
User
Beiträge: 14053
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@mechanicalStore: Das hat nichts mit dem virtual environment zu tun. Ohne würde es genau die gleiche Meldung geben. wxPython ist nicht (nur) in Python geschrieben sondern auch in C und es benötigt die entsprechenden Entwicklerdateien um etwas für wxWidgets zu kompilieren. pkg-config scheint zu fehlen und dann wahrscheinlich noch die dev-Pakete für Gtk3.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
mechanicalStore
User
Beiträge: 178
Registriert: Dienstag 29. Dezember 2009, 00:09

nezzcarth hat geschrieben: Freitag 21. Juli 2023, 21:13
Das stimmt so nicht. Virtuelle Umgebungen kapseln Python. Der eigentliche Interpreter im Venv ist per Default sogar oft nur ein Symlink auf den Systeminterpreter. Komplett unabhängig vom restlichen System ist da sehr wenig. Daher ist es deine Aufgabe, die notwendigen Bedingungen dafür zu schaffen, dass pip seine Arbeit machen kann. D.h. in dem Fall (und bei vielen anderen Paketen, die Wrapper um in C/C++ geschriebene Bibliothek sind), dass ein geeigneter Compiler und ggf. die Development-Header da sein müssen. Ich weiß nicht genau, wie es bei Manjaro ist, bei Paketen für Arch Linux lohnt es sich jedoch in solchen Fällen in das PKGBUILD zu schauen (https://gitlab.archlinux.org/archlinux/ ... n/PKGBUILD). Entscheidend ist in deinem Fall wohl vor allem webkit2gtk, wenn ich die Fehlermeldung richtig interpretiere. Grundsätzlich kann man über pip auch binäre Pakete installieren, wenn es sie für deine Plattform dort gibt. Das scheint hier aber nicht der Fall zu sein. Für Details S.a.: https://wxpython.org/pages/downloads/

EDIT: Wenn ich unter Arch die o.g. Pakete installiere, klappt es auch mit dem Installieren per pip problemlos. Dauert nur relativ lange.
Hallo nezzcarth,

ich habe alle unter PKGBUILD angegebenen Pakete per pacman (Manjaro ist ja ein arch abklatsch) installiert. webkit2gtk war sogar schon auf meinem Rechner, aber einige der Anderen haben gefehlt. Trotzdem sind die Fehlermeldungen noch exakt identisch mit den Vorherigen.

Kannst Du mir sagen, welche Pakete Du genau installiert hast (in Deinem EDIT Hinweis) ?
mechanicalStore
User
Beiträge: 178
Registriert: Dienstag 29. Dezember 2009, 00:09

Hallo,

mittlerweile läuft es (habe pkg-config mit python-pkgconfig verwechselt, aber pkg-config ist was anderes und wurde ersetzt durch pkgconf).
Funktioniert aber trotzdem nicht, es kommen eine menge Meldungen wxDEPRECEATED und endet dann mit schwerwiegendem Fehler in der Linkphase. Komisch., obwohl das System auf dem neuesten Stand ist.
Benutzeravatar
__blackjack__
User
Beiträge: 14053
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@mechanicalStore: Vielleicht ist das dann auch *zu* neu. Kann man aber nur spekulieren weil „schwerwiegender Fehler in der Linkphase“ ja alles mögliche sein kann.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
narpfel
User
Beiträge: 691
Registriert: Freitag 20. Oktober 2017, 16:10

@mechanicalStore: Hast du `base-devel` installiert? Ansonsten bitte die vollständige Ausgabe zeigen, sonst kann man nur raten.
mechanicalStore
User
Beiträge: 178
Registriert: Dienstag 29. Dezember 2009, 00:09

Ok, da hier nur 6000 Zeichen erlaubt sind, am Anfang sehr stark gekürzt. Weiß nicht, ob das ausreicht:

Code: Alles auswählen

 
      ../../../../ext/wxWidgets/include/wx/platinfo.h:273:20: Anmerkung: hier deklariert
        273 |     wxArchitecture GetArchitecture() const
            |                    ^~~~~~~~~~~~~~~
      ../../../../sip/cpp/sip_corewxPlatformInfo.cpp: In Funktion »PyObject* meth_wxPlatformInfo_SetArchitecture(PyObject*, PyObject*, PyObject*)«:
      ../../../../sip/cpp/sip_corewxPlatformInfo.cpp:960:36: Warnung: »void wxPlatformInfo::SetArchitecture(wxBitness)« ist veraltet: Use SetBitness() instead [-Wdeprecated-declarations]
        960 |             sipCpp->SetArchitecture(n);
            |             ~~~~~~~~~~~~~~~~~~~~~~~^~~
      ../../../../ext/wxWidgets/include/wx/platinfo.h:338:10: Anmerkung: hier deklariert
        338 |     void SetArchitecture(wxBitness n)
            |          ^~~~~~~~~~~~~~~
      
      [350/939] Compiling sip/cpp/sip_corewxAlphaPixelData.cpp
      [351/939] Compiling sip/cpp/sip_corewxPixelDataBase.cpp
      [352/939] Compiling sip/cpp/sip_corewxPickerBase.cpp
      [353/939] Compiling sip/cpp/sip_corewxFocusEvent.cpp
      [354/939] Compiling sip/cpp/sip_corewxPenList.cpp
      [355/939] Compiling sip/cpp/sip_corewxPenInfo.cpp
      [356/939] Compiling sip/cpp/sip_corewxFlexGridSizer.cpp
      [357/939] Compiling sip/cpp/sip_corewxConfig.cpp
      [358/939] Compiling sip/cpp/sip_corewxPen.cpp
      [359/939] Compiling sip/cpp/sip_corewxPasswordEntryDialog.cpp
      [360/939] Compiling sip/cpp/sip_corewxFindReplaceDialog.cpp
      [361/939] Compiling sip/cpp/sip_corewxPanel.cpp
      [362/939] Compiling sip/cpp/sip_corewxControlWithItems.cpp
      [363/939] Compiling sip/cpp/sip_corewxFindReplaceData.cpp
      [364/939] Compiling sip/cpp/sip_corewxCommandProcessor.cpp
      [365/939] Compiling sip/cpp/sip_corewxBoxSizer.cpp
      [366/939] Compiling sip/cpp/sip_corewxPanGestureEvent.cpp
      [367/939] Compiling sip/cpp/sip_corewxPalette.cpp
      [368/939] Compiling sip/cpp/sip_corewxFindDialogEvent.cpp
      [369/939] Compiling sip/cpp/sip_corewxPaintEvent.cpp
      [370/939] Compiling sip/cpp/sip_corewxPaintDC.cpp
      [371/939] Compiling sip/cpp/sip_corewxFilterFSHandler.cpp
      [372/939] Compiling sip/cpp/sip_corewxCommandList_iterator.cpp
      [373/939] Compiling sip/cpp/sip_corewxPageSetupDialogData.cpp
      [374/939] Compiling sip/cpp/sip_corewxPageSetupDialog.cpp
      [375/939] Compiling sip/cpp/sip_corewxFileTypeMessageParameters.cpp
      [376/939] Compiling sip/cpp/sip_corewxPNMHandler.cpp
      [377/939] Compiling sip/cpp/sip_corewxPNGHandler.cpp
      [378/939] Compiling sip/cpp/sip_corewxFileTypeInfo.cpp
      [379/939] Compiling sip/cpp/sip_corewxCommandList.cpp
      [380/939] Compiling sip/cpp/sip_corewxBookCtrlEvent.cpp
      [381/939] Compiling sip/cpp/sip_corewxAffineMatrix2DBase.cpp
      [382/939] Compiling sip/cpp/sip_corewxPCXHandler.cpp
      [383/939] Compiling sip/cpp/sip_corewxOverlay.cpp
      [384/939] Compiling sip/cpp/sip_corewxFileType.cpp
      [385/939] Compiling sip/cpp/sip_corewxOutputStream.cpp
      [386/939] Compiling sip/cpp/sip_corewxObject.cpp
      [387/939] Compiling sip/cpp/sip_corewxFileTranslationsLoader.cpp
      [388/939] Compiling sip/cpp/sip_corewxCommandEvent.cpp
      [389/939] Compiling sip/cpp/sip_corewxNumberEntryDialog.cpp
      [390/939] Compiling sip/cpp/sip_corewxNotifyEvent.cpp
      [391/939] Compiling sip/cpp/sip_corewxFileSystemWatcherEvent.cpp
      [392/939] Compiling sip/cpp/sip_corewxNotebook.cpp
      [393/939] Compiling sip/cpp/sip_corewxNonOwnedWindow.cpp
      [394/939] Compiling sip/cpp/sip_corewxFileSystemWatcher.cpp
      [395/939] Compiling sip/cpp/sip_corewxCommand.cpp
      [396/939] Compiling sip/cpp/sip_corewxBookCtrlBase.cpp
      [397/939] Compiling sip/cpp/sip_corewxNavigationKeyEvent.cpp
      [398/939] Compiling sip/cpp/sip_corewxNativePixelData_Accessor.cpp
      [399/939] Compiling sip/cpp/sip_corewxFileSystemHandler.cpp
      [400/939] Compiling sip/cpp/sip_corewxNativePixelData.cpp
      [401/939] Compiling sip/cpp/sip_corewxNativeFontInfo.cpp
      [402/939] Compiling sip/cpp/sip_corewxFileSystem.cpp
      [403/939] Compiling sip/cpp/sip_corewxComboPopup.cpp
      [404/939] Compiling sip/cpp/sip_corewxMultiChoiceDialog.cpp
      [405/939] Compiling sip/cpp/sip_corewxMsgCatalog.cpp
      [406/939] Compiling sip/cpp/sip_corewxFilePickerCtrl.cpp
      [407/939] Compiling sip/cpp/sip_corewxMoveEvent.cpp
      [408/939] Compiling sip/cpp/sip_corewxMouseState.cpp
      [409/939] Compiling sip/cpp/sip_corewxFileName.cpp
      [410/939] Compiling sip/cpp/sip_corewxComboCtrlFeatures.cpp
      [411/939] Compiling sip/cpp/sip_corewxBitmapToggleButton.cpp
      [412/939] Compiling sip/cpp/sip_corewxAffineMatrix2D.cpp
      [413/939] Compiling sip/cpp/sip_corewxMouseEventsManager.cpp
      [414/939] Compiling sip/cpp/sip_corewxMouseEvent.cpp
      [415/939] Compiling sip/cpp/sip_corewxFileHistoryMenuList_iterator.cpp
      [416/939] Compiling sip/cpp/sip_corewxMouseCaptureLostEvent.cpp
      [417/939] Compiling sip/cpp/sip_corewxMouseCaptureChangedEvent.cpp
      [418/939] Compiling sip/cpp/sip_corewxFileHistoryMenuList.cpp
      [419/939] Compiling sip/cpp/sip_corewxComboCtrl.cpp
      [420/939] Compiling sip/cpp/sip_corewxModalDialogHook.cpp
      [421/939] Compiling sip/cpp/sip_corewxMirrorDC.cpp
      [422/939] Compiling sip/cpp/sip_corewxFileHistory.cpp
      [423/939] Compiling sip/cpp/sip_corewxMiniFrame.cpp
      [424/939] Compiling sip/cpp/sip_corewxMimeTypesManager.cpp
      [425/939] Compiling sip/cpp/sip_corewxFileDropTarget.cpp
      [426/939] Compiling sip/cpp/sip_corewxComboBox.cpp
      [427/939] Compiling sip/cpp/sip_corewxBitmapDataObject.cpp
      [428/939] Compiling sip/cpp/sip_corewxMetafileDC.cpp
      [429/939] Compiling sip/cpp/sip_corewxMetafile.cpp
      [430/939] Compiling sip/cpp/sip_corewxFileDirPickerEvent.cpp
      [431/939] Compiling sip/cpp/sip_corewxMessageDialogButtonLabel.cpp
      [432/939] Compiling sip/cpp/sip_corewxMessageDialog.cpp
      [433/939] Compiling sip/cpp/sip_corewxFileDialogTextCtrl.cpp
      [434/939] Compiling sip/cpp/sip_corewxColourPickerEvent.cpp
      [435/939] Compiling sip/cpp/sip_corewxMenuList_iterator.cpp
      [436/939] Compiling sip/cpp/sip_corewxMenuList.cpp
      [437/939] Compiling sip/cpp/sip_corewxFileDialogStaticText.cpp
      [438/939] Compiling sip/cpp/sip_corewxMenuItemList_iterator.cpp
      [439/939] Compiling sip/cpp/sip_corewxMenuItemList.cpp
      [440/939] Compiling sip/cpp/sip_corewxFileDialogRadioButton.cpp
      [441/939] Compiling sip/cpp/sip_corewxColourPickerCtrl.cpp
      [442/939] Compiling sip/cpp/sip_corewxBitmapButton.cpp
      [443/939] Compiling sip/cpp/sip_corewxActivityIndicator.cpp
      [444/939] Compiling sip/cpp/sip_corewxMenuItem.cpp
      [445/939] Compiling sip/cpp/sip_corewxMenuEvent.cpp
      [446/939] Compiling sip/cpp/sip_corewxFileDialogCustomizeHook.cpp
      [447/939] Compiling sip/cpp/sip_corewxMenuBar.cpp
      [448/939] Compiling sip/cpp/sip_corewxMenu.cpp
      [449/939] Compiling sip/cpp/sip_corewxFileDialogCustomize.cpp
      [450/939] Compiling sip/cpp/sip_corewxColourDialogEvent.cpp
      [451/939] Compiling sip/cpp/sip_corewxMemoryFSHandler.cpp
      [452/939] Compiling sip/cpp/sip_corewxMemoryDC.cpp
      [453/939] Compiling sip/cpp/sip_corewxFileDialogCustomControl.cpp
      [454/939] Compiling sip/cpp/sip_corewxMemoryBuffer.cpp
      [455/939] Compiling sip/cpp/sip_corewxMaximizeEvent.cpp
      [456/939] Compiling sip/cpp/sip_corewxFileDialogChoice.cpp
      [457/939] Compiling sip/cpp/sip_corewxColourDialog.cpp
      [458/939] Compiling sip/cpp/sip_corewxBitmapBundleImpl.cpp
      [459/939] Compiling sip/cpp/sip_corewxMatrix2D.cpp
      [460/939] Compiling sip/cpp/sip_corewxMask.cpp
      [461/939] Compiling sip/cpp/sip_corewxFileDialogCheckBox.cpp
      [462/939] Compiling sip/cpp/sip_corewxMDIParentFrame.cpp
      [463/939] Compiling sip/cpp/sip_corewxMDIClientWindow.cpp
      [464/939] Compiling sip/cpp/sip_corewxFileDialogButton.cpp
      [465/939] Compiling sip/cpp/sip_corewxColourDatabase.cpp
      [466/939] Compiling sip/cpp/sip_corewxMDIChildFrameBase.cpp
      [467/939] Compiling sip/cpp/sip_corewxMDIChildFrame.cpp
      [468/939] Compiling sip/cpp/sip_corewxFileDialog.cpp
      [469/939] Compiling sip/cpp/sip_corewxLongPressEvent.cpp
      [470/939] Compiling sip/cpp/sip_corewxLongLong.cpp
      [471/939] Compiling sip/cpp/sip_corewxFileDataObject.cpp
      [472/939] Compiling sip/cpp/sip_corewxColourData.cpp
      [473/939] Compiling sip/cpp/sip_corewxBitmapBundle.cpp
      [474/939] Compiling sip/cpp/sip_corewxActivateEvent.cpp
      [475/939] Compiling sip/cpp/sip_corewxLogWindow.cpp
      [476/939] Compiling sip/cpp/sip_corewxLogTextCtrl.cpp
      [477/939] Compiling sip/cpp/sip_corewxFileCtrlEvent.cpp
      [478/939] Compiling sip/cpp/sip_corewxLogStderr.cpp
      [479/939] Compiling sip/cpp/sip_corewxLogRecordInfo.cpp
      [480/939] Compiling sip/cpp/sip_corewxFileCtrl.cpp
      [481/939] Compiling sip/cpp/sip_corewxColour.cpp
      [482/939] Compiling sip/cpp/sip_corewxLogNull.cpp
      [483/939] Compiling sip/cpp/sip_corewxLogInterposerTemp.cpp
      [484/939] Compiling sip/cpp/sip_corewxFileConfig.cpp
      [485/939] Compiling sip/cpp/sip_corewxLogInterposer.cpp
      [486/939] Compiling sip/cpp/sip_corewxLogGui.cpp
      [487/939] Compiling sip/cpp/sip_corewxFSFile.cpp
      [488/939] Compiling sip/cpp/sip_corewxCollapsiblePaneEvent.cpp
      [489/939] Compiling sip/cpp/sip_corewxBitmap.cpp
      [490/939] Compiling sip/cpp/sip_corewxLogFormatter.cpp
      [491/939] Compiling sip/cpp/sip_corewxLogChain.cpp
      [492/939] Compiling sip/cpp/sip_corewxExecuteEnv.cpp
      [493/939] Compiling sip/cpp/sip_corewxLogBuffer.cpp
      ../../../../sip/cpp/sip_corewxBitmap.cpp: In Funktion »void _wxBitmap_SetSize(wxBitmap*, const wxSize*)«:
      ../../../../sip/cpp/sip_corewxBitmap.cpp:400:23: Warnung: »virtual void wxBitmap::SetWidth(int)« ist veraltet [-Wdeprecated-declarations]
        400 |         self->SetWidth(size->x);
            |         ~~~~~~~~~~~~~~^~~~~~~~~
      In Datei, eingebunden von ../../../../ext/wxWidgets/include/wx/wx.h:14,
                       von ../../../../wx/include/wxPython/wxpy_api.h:41,
                       von ../../../../sip/cpp/sipAPI_core.h:22068,
                       von ../../../../sip/cpp/sip_corewxBitmap.cpp:10:
      ../../../../ext/wxWidgets/include/wx/gtk/bitmap.h:126:23: Anmerkung: hier deklariert
        126 |     wxDEPRECATED(void SetWidth( int width ) wxOVERRIDE);
            |                       ^~~~~~~~
      ../../../../ext/wxWidgets/include/wx/defs.h:671:43: Anmerkung: in Definition des Makros »wxDEPRECATED«
        671 | #define wxDEPRECATED(x) wxDEPRECATED_DECL x
            |                                           ^
      ../../../../sip/cpp/sip_corewxBitmap.cpp:401:24: Warnung: »virtual void wxBitmap::SetHeight(int)« ist veraltet [-Wdeprecated-declarations]
        401 |         self->SetHeight(size->y);
            |         ~~~~~~~~~~~~~~~^~~~~~~~~
      ../../../../ext/wxWidgets/include/wx/gtk/bitmap.h:125:23: Anmerkung: hier deklariert
        125 |     wxDEPRECATED(void SetHeight( int height ) wxOVERRIDE);
            |                       ^~~~~~~~~
      ../../../../ext/wxWidgets/include/wx/defs.h:671:43: Anmerkung: in Definition des Makros »wxDEPRECATED«
        671 | #define wxDEPRECATED(x) wxDEPRECATED_DECL x
            |                                           ^
      ../../../../sip/cpp/sip_corewxBitmap.cpp: In Funktion »PyObject* meth_wxBitmap_SetDepth(PyObject*, PyObject*, PyObject*)«:
      ../../../../sip/cpp/sip_corewxBitmap.cpp:1599:29: Warnung: »virtual void wxBitmap::SetDepth(int)« ist veraltet [-Wdeprecated-declarations]
       1599 |             sipCpp->SetDepth(depth);
            |             ~~~~~~~~~~~~~~~~^~~~~~~
      ../../../../ext/wxWidgets/include/wx/gtk/bitmap.h:127:23: Anmerkung: hier deklariert
        127 |     wxDEPRECATED(void SetDepth( int depth ) wxOVERRIDE);
            |                       ^~~~~~~~
      ../../../../ext/wxWidgets/include/wx/defs.h:671:43: Anmerkung: in Definition des Makros »wxDEPRECATED«
        671 | #define wxDEPRECATED(x) wxDEPRECATED_DECL x
            |                                           ^
      ../../../../sip/cpp/sip_corewxBitmap.cpp: In Funktion »PyObject* meth_wxBitmap_SetHeight(PyObject*, PyObject*, PyObject*)«:
      ../../../../sip/cpp/sip_corewxBitmap.cpp:1639:30: Warnung: »virtual void wxBitmap::SetHeight(int)« ist veraltet [-Wdeprecated-declarations]
       1639 |             sipCpp->SetHeight(height);
            |             ~~~~~~~~~~~~~~~~~^~~~~~~~
      ../../../../ext/wxWidgets/include/wx/gtk/bitmap.h:125:23: Anmerkung: hier deklariert
        125 |     wxDEPRECATED(void SetHeight( int height ) wxOVERRIDE);
            |                       ^~~~~~~~~
      ../../../../ext/wxWidgets/include/wx/defs.h:671:43: Anmerkung: in Definition des Makros »wxDEPRECATED«
        671 | #define wxDEPRECATED(x) wxDEPRECATED_DECL x
            |                                           ^
      ../../../../sip/cpp/sip_corewxBitmap.cpp: In Funktion »PyObject* meth_wxBitmap_SetWidth(PyObject*, PyObject*, PyObject*)«:
      ../../../../sip/cpp/sip_corewxBitmap.cpp:1796:29: Warnung: »virtual void wxBitmap::SetWidth(int)« ist veraltet [-Wdeprecated-declarations]
       1796 |             sipCpp->SetWidth(width);
            |             ~~~~~~~~~~~~~~~~^~~~~~~
      ../../../../ext/wxWidgets/include/wx/gtk/bitmap.h:126:23: Anmerkung: hier deklariert
        126 |     wxDEPRECATED(void SetWidth( int width ) wxOVERRIDE);
            |                       ^~~~~~~~
      ../../../../ext/wxWidgets/include/wx/defs.h:671:43: Anmerkung: in Definition des Makros »wxDEPRECATED«
        671 | #define wxDEPRECATED(x) wxDEPRECATED_DECL x
            |                                           ^
      
      [494/939] Compiling sip/cpp/sip_corewxLog.cpp
      [495/939] Compiling sip/cpp/sip_corewxEvtHandler.cpp
      [496/939] Compiling sip/cpp/sip_corewxCollapsiblePane.cpp
      [497/939] Compiling sip/cpp/sip_corewxLocale.cpp
      [498/939] Compiling sip/cpp/sip_corewxListbook.cpp
      [499/939] Compiling sip/cpp/sip_corewxEventLoopBase.cpp
      [500/939] Compiling sip/cpp/sip_corewxListView.cpp
      [501/939] Compiling sip/cpp/sip_corewxPaletteChangedEvent.cpp
      [502/939] Compiling sip/cpp/sip_corewxWithImages.cpp
      [503/939] Compiling sip/cpp/sip_corewxWindowIDRef.cpp
      [504/939] Compiling sip/cpp/sip_corewxWindowList.cpp
      [505/939] Compiling sip/cpp/sip_corewxEventBlocker.cpp
      [506/939] Compiling sip/cpp/sip_corewxWrapSizer.cpp
      [507/939] Compiling sip/cpp/sip_corewxListBox.cpp
      [508/939] Compiling sip/cpp/sip_corewxWindowList_iterator.cpp
      [509/939] Compiling sip/cpp/sip_corewxAccessible.cpp
      [510/939] Compiling sip/cpp/sip_corewxWindowModalDialogEvent.cpp
      [511/939] Compiling sip/cpp/sip_corewxListEvent.cpp
      [512/939] Compiling sip/cpp/sip_advcmodule.cpp
      [513/939] Compiling sip/cpp/sip_advwxWizardPage.cpp
      [514/939] Compiling sip/cpp/sip_advwxDateEvent.cpp
      [515/939] Compiling sip/cpp/sip_advwxTaskBarIcon.cpp
      [516/939] Compiling sip/cpp/sip_advwxSound.cpp
      [517/939] Compiling sip/cpp/sip_advwxSashLayoutWindow.cpp
      [518/939] Linking build/waf/3.11/gtk3/_core.cpython-311-x86_64-linux-gnu.so
      [519/939] Compiling sip/cpp/sip_advwxSashWindow.cpp
      [520/939] Compiling sip/cpp/sip_advwxQueryLayoutInfoEvent.cpp
      [521/939] Compiling sip/cpp/sip_advwxWizardPageSimple.cpp
      collect2: schwerwiegender Fehler: ld mit Signal 9 [Getötet] beendet
      Kompilierung beendet.
      g++: schwerwiegender Fehler: Signal Getötet hat Programm lto1 beendet
      Kompilierung beendet.
      lto-wrapper: schwerwiegender Fehler: /usr/bin/g++ gab Ende-Status 1 zurück
      Kompilierung beendet.
      
      Waf: Leaving directory `/tmp/pip-install-dwttnxgb/wxpython_35af32af3c5e4854a0029d10812f4310/build/waf/3.11/gtk3'
      Build failed
       -> task in '_core' failed with exit status 1 (run with -v to display more information)
      Command '"/home/******/Dokumente/develop/tut-env/bin/python" /tmp/pip-install-dwttnxgb/wxpython_35af32af3c5e4854a0029d10812f4310/bin/waf-2.0.24 --wx_config=/tmp/pip-install-dwttnxgb/wxpython_35af32af3c5e4854a0029d10812f4310/build/wxbld/gtk3/wx-config --gtk3 --python="/home/******/Dokumente/develop/tut-env/bin/python" --out=build/waf/3.11/gtk3 configure build ' failed with exit code 1.
      Finished command: build_py (18m11.954s)
      Finished command: build (30m55.977s)
      Command '"/home/******/Dokumente/develop/tut-env/bin/python" -u build.py build' failed with exit code 1.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for wxPython
  Running setup.py clean for wxPython
Failed to build wxPython
ERROR: Could not build wheels for wxPython, which is required to install pyproject.toml-based projects
(tut-env) ac-swift1%
mechanicalStore
User
Beiträge: 178
Registriert: Dienstag 29. Dezember 2009, 00:09

narpfel hat geschrieben: Samstag 22. Juli 2023, 15:02 @mechanicalStore: Hast du `base-devel` installiert? Ansonsten bitte die vollständige Ausgabe zeigen, sonst kann man nur raten.
Ja, base-devel ist installiert.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das ist eher ein Speicherschwein-Problem. Der GCC will einfach unendlich speicher. Und dann bekommt er den irhendwann nicht mehr, und schmiert ab. Probier mal das Paket als source zu installieren, und wiederholt zu bauen.

Oder schmeiß WX in die Tonne in die es gehört & benutz vorkompiliertes und besseres Qt.
narpfel
User
Beiträge: 691
Registriert: Freitag 20. Oktober 2017, 16:10

Würde ich auch erstmal vermuten. Wie viel RAM hast du denn? Bei 30 Minuten Kompilierzeit für ~500 C++-Dateien scheint das eher ein älterer Rechner zu sein?

Oder – da das während LTO passiert – vielleicht mal versuchen, das ohne LTO zu kompilieren. Keine Ahnung, wie man da die passenden Flags in pip hineinkriegt. Vielleicht `CFLAGS=-fno-lto CXXFLAGS=-fno-lto LDFLAGS=-fno-lto`?
nezzcarth
User
Beiträge: 1764
Registriert: Samstag 16. April 2011, 12:47

mechanicalStore hat geschrieben: Freitag 21. Juli 2023, 22:01 Kannst Du mir sagen, welche Pakete Du genau installiert hast (in Deinem EDIT Hinweis) ?
Das habe ich nicht korrekt ausgedrückt, Entschuldigung: Es war schon alles installiert und das habe ich nur geprüft. Daher kann ich es dir im Detail nicht sagen und auch nicht, ob es verstecke Abhängigkeiten gibt.

Zu dem Verdacht mit dem Speicher kann ich noch sagen, dass die Spitze bei mir so ganz grob überschlagen bei ca. 3-3,5 GB Speicherbedarf lag. Das sollte auf halbwegs aktueller Hardware kein Problem sein; bei sparsam bemessenen VMs oder so evtl. aber schon.
mechanicalStore
User
Beiträge: 178
Registriert: Dienstag 29. Dezember 2009, 00:09

Hallo Zusammen, danke für die Antworten und die Hilfe.

Der Rechner ist tatsächlich mein kleinster Rechner, ein Acer Swift-1 mit 4GB und Intel Pentium Silver N6000.

Ich probiere das mal auf einer größeren Kiste mit mehr Speicher.

@__deets__ Lässt sich Qt auch in virtueller Umgebung per pip installieren? Da Du vorkompiliert erwähnst.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Genau das sollte gehen, ja. Gibts nen Grund warum du nicht die Paketverwaltung benutzt. Venvs sind ja super, aber nutzlos wenn die Pakete eh von auf dem System liegenden wie GTK etc abhängig sind. Dann kann man auch drauf pfeifen (für die. Andere mit venv sind natürlich ok).
mechanicalStore
User
Beiträge: 178
Registriert: Dienstag 29. Dezember 2009, 00:09

__deets__ hat geschrieben: Samstag 22. Juli 2023, 22:06 Genau das sollte gehen, ja. Gibts nen Grund warum du nicht die Paketverwaltung benutzt. Venvs sind ja super, aber nutzlos wenn die Pakete eh von auf dem System liegenden wie GTK etc abhängig sind. Dann kann man auch drauf pfeifen (für die. Andere mit venv sind natürlich ok).
Einen wirklichen Grund gibt es da eigentlich kaum. Generell spiele ich gerade ein bisschen mit venv rum. Ich habe aber auch mal gelesen, dass man das Python eigene Paketsystem dem des Betriebssystems vorziehen sollte.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Man liest viel. Und ich habe sowas auch schon gesagt. Aber wie bei allem gilt: die Umstände zählen. Bei puren Python Paketen ist das ok. Wenn man aber eh dröflzig Systembibliotheken braucht, spielt es auch keine Rolle. Dann kann man auch ein System Paket benutzen, statt sich solchen Stress zu machen.
Benutzeravatar
__blackjack__
User
Beiträge: 14053
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Wie Du schon sagst zählen die Umstände. Auch wenn man zig Systembibliotheken braucht, kann man trotzdem das Problem umgehen müssen *eine* Bibliothek in einer anderen Version zu brauchen als alles andere im System und ist dann doch wieder beim venv.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
mechanicalStore
User
Beiträge: 178
Registriert: Dienstag 29. Dezember 2009, 00:09

Also, ich habe das auf einem anderen Rechner ausprobiert, der zufällig auch ganz neu mit EndeavourOS installiert ist und 8GB sowie Intel Core i5 h<Prozessor hat. Interessanterweise kamen dort die ganzen Meldungen des Compilers gar nicht, sodern lediglich das hier:

Code: Alles auswählen

(tut-env-ammun) [******@Zuse-Z1 develop]$ pip install wxPython
Collecting wxPython
  Downloading wxPython-4.2.1.tar.gz (73.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 73.7/73.7 MB 6.0 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pillow (from wxPython)
  Obtaining dependency information for pillow from https://files.pythonhosted.org/packages/16/89/818fa238e37a47a29bb8495ca2cafdd514599a89f19ada7916348a74b5f9/Pillow-10.0.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata
  Downloading Pillow-10.0.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (9.5 kB)
Collecting six (from wxPython)
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting numpy (from wxPython)
  Obtaining dependency information for numpy from https://files.pythonhosted.org/packages/f0/5a/9b7b7bae29f9f5f8a976607cd30139c1fec9076c0e65ea918d3400924acf/numpy-1.25.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Downloading numpy-1.25.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.6 kB)
Downloading numpy-1.25.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.6/17.6 MB 6.9 MB/s eta 0:00:00
Downloading Pillow-10.0.0-cp311-cp311-manylinux_2_28_x86_64.whl (3.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 7.0 MB/s eta 0:00:00
Building wheels for collected packages: wxPython
  Building wheel for wxPython (pyproject.toml) ... done
  Created wheel for wxPython: filename=wxPython-4.2.1-cp311-cp311-linux_x86_64.whl size=145670021 sha256=aefacb3caf06df0b0fd06fd95934ee69280323e4f94f24aaf318180c13845f13
  Stored in directory: /home/******/.cache/pip/wheels/47/56/e2/3029fc67c00478b2ecc3a07f4315db447ef1d7abf0dc44516b
Successfully built wxPython
Installing collected packages: six, pillow, numpy, wxPython
Successfully installed numpy-1.25.1 pillow-10.0.0 six-1.16.0 wxPython-4.2.1
(tut-env-ammun) [******@Zuse-Z1 develop]$
Und es funktioniert sogar. Und das auch, ohne vorher überhaupt die Abhängigkeiten zu prüfen. Wie sind diese Unterschiede zu erklären?

Auch habe ich PyQt6 im venv installieren können, das war innerhalb Sekunden fertig, da wurde auch nichts compiliert, und ich habe nicht mal systemweit Qt installiert. Und es funktioniert natürlich auch.

Waren das in beiden Fällen vorcompilierte Pakete statt sourcen? Bzw, ist PyQt innerhalb venv von keiner Systeminstallation abhängig (und wx in dem Fall auch nicht mehr?) ?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das kann zb an der Python Version liegen. Nicht jedes Paket wird ewig für jede uraltversion vorgehalten.
mechanicalStore
User
Beiträge: 178
Registriert: Dienstag 29. Dezember 2009, 00:09

__deets__ hat geschrieben: Sonntag 23. Juli 2023, 16:37 Das kann zb an der Python Version liegen. Nicht jedes Paket wird ewig für jede uraltversion vorgehalten.
Achso. Die Pakete sind also eigentlich passend für die Pythonversion (die man gerade verwendet) schon vorcompiliert und nur wenn es sich um eine ältere, gerade genutzte Pythonversion handelt, werden sie entsprechend compiliert ?!
Und wenn das so ist/wäre, wo/wie kann man feststellen, welche Versionen es vorcompiliert gibt, bzw. ob es Sourcen gibt, usw.?
Antworten