AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1259914
Accepted
Richard Logwood
Richard Logwood
Asked: 2020-07-18 08:48:25 +0800 CST2020-07-18 08:48:25 +0800 CST 2020-07-18 08:48:25 +0800 CST

PlayOnLinux 不适用于 wxPython 4.1.0 - ImportError:没有名为 wxversion 的模块,需要改为 wx.version

  • 772

最新版本的 wxPython 不支持 wxversion 模块。相反,信息以 wx.version 的形式提供。

有什么建议的解决方法吗?谢谢!

我的环境是 Ubuntu 20.04 LTS、pyenv、python 3.8.3、python 2.7.18、wxPython 4.1.0

$ apt-cache policy playonlinux
playonlinux:
  Installed: 4.3.4-1ubuntu1
  Candidate: 4.3.4-1ubuntu1
  Version table:
 *** 4.3.4-1ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu focal/multiverse i386 Packages
        100 /var/lib/dpkg/status

$ which playonlinux
/usr/bin/playonlinux

# *** note: i'm using pyenv ***

$ pyenv local 2.7.18

$ which python2
/home/dever/.pyenv/shims/python2

$ python2 -V
Python 2.7.18

$ pyenv local 3.8.3

$ which python3
/home/dever/.pyenv/shims/python3

$ python3 -V
Python 3.8.3

安装的 Python 3.8.3 配置有 wxPython 4.1.0

$ python
Python 3.8.3 (default, Jul 16 2020, 20:35:40) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>> print(wx.version)
<function version at 0x7ff77d3cbd30>
>>> print(wx.version())
4.1.0 gtk3 (phoenix) wxWidgets 3.1.4
>>> quit()

因此,playonlinux 命令失败并出现以下错误:

$ playonlinux
Looking for python... 3.8.3 - skipped
Looking for python2.7... 2.7.18 - Traceback (most recent call last):
  File "/usr/share/playonlinux/python/check_python.py", line 1, in <module>
    import os, wxversion
ImportError: No module named wxversion
failed tests
Looking for python2.6... 
Looking for python2... 2.7.18 - Traceback (most recent call last):
  File "/usr/share/playonlinux/python/check_python.py", line 1, in <module>
    import os, wxversion
ImportError: No module named wxversion
failed tests
Please install python before trying to run this program

注意:对于那些因为 GTK+ 错误而在 Ubuntu 20.04 LTS 上安装 wxPython 的人*** Could not run GTK+ test program, checking why...

试试这个命令(在这里找到:https ://wxpython.org/pages/downloads/ )

pip install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04 wxPython

有关其他上下文,另请参阅:https ://discuss.wxpython.org/t/where-to-obtain-wxversion-py/28752

playonlinux 最初安装如下,但在 Ubuntu 20.04 LTS(我从 19.10 升级)上重新安装了标准存储库:

我正在运行的 playonlinux 版本适用于从此处下载的 Ubuntu 18.04(仿生版本):https ://www.playonlinux.com/en/download.html

For the Bionic version

Type the following commands:
wget -q "http://deb.playonlinux.com/public.gpg" -O- | sudo apt-key add -
sudo wget http://deb.playonlinux.com/playonlinux_bionic.list -O /etc/apt/sources.list.d/playonlinux.list
sudo apt-get update
sudo apt-get install playonlinux

也许 playonlinux 被 flatpak 版本取代了?

查看https://www.playonlinux.com上的 Github 链接会将您带到https://github.com/PhoenicisOrg/,这表明解决方案可能是迁移到 flatpak 版本:

https://flathub.org/apps/details/org.phoenicis.playonlinux

python wine gtk3 playonlinux wxpython
  • 2 2 个回答
  • 2943 Views

2 个回答

  • Voted
  1. Best Answer
    Richard Logwood
    2020-07-18T12:03:46+08:002020-07-18T12:03:46+08:00

    简短回答:问题与pyenv有关,请确保system在全局配置中是首选:pyenv global system或使用pyenv shell system. 如果你使用global你只设置一次。

    简短说明:用于pyenv global system (2nd) (3rd)...确保 playonlinux 找到正确的 python;其中 (2nd) 和 (3rd) 是您安装的解释器的 pyenv 版本号。

    长解释:在@N0bert 的真正有用的帖子拉开帷幕后,我发现在我的情况下,问题与pyenv 相关。

    pyenv global具体来说,我可以通过使用命令解决我的问题,system首先如下(注意:您执行的命令将取决于您安装的python版本):

    pyenv global system 3.8.3 2.7.18 anaconda3-2019.10
    

    为了进一步调查问题,我查看了以下文件:

    • /usr/share/playonlinux/bash/find_python
    • /usr/share/playonlinux/python/check_python.py

    我自己制作了这些副本以更好地理解错误。事实证明wxversion 错误确实具有误导性,真正的问题是找到正确的 python shell 来运行。playonlinux取决于系统python。

    最初我认为运行pyenv local systempyenv 可以解决问题,但由于 pyenv 的工作方式,情况并非如此。

    为确保/usr/share/playonlinux/bash/find_python解析到系统安装的 python,您必须确保将pyenv global其设置system为首选。

    非常感谢@N0rbert !!

    • 3
  2. N0rbert
    2020-07-18T09:04:35+08:002020-07-18T09:04:35+08:00

    您只需从官方存储库安装最新的 PlayOnLinux 4.3.4

    sudo add-apt-repository multiverse
    sudo apt-get install --reinstall playonlinux=4.3.4-1ubuntu1
    

    它将依赖于 Python 2,因为它被设计为.


    使用依赖项安装 PlayOnLinux 的完整命令如下:

    sudo apt-get install cabextract curl fonts-wine gcc-10-base:i386 \
    glib-networking:i386 gsfonts gstreamer1.0-plugins-base:i386 \
    gstreamer1.0-plugins-good:i386 gstreamer1.0-x:i386 i965-va-driver:i386 \
    icoutils imagemagick imagemagick-6-common imagemagick-6.q16 \
    intel-media-va-driver:i386 jq libaa1:i386 libaom0:i386 libasn1-8-heimdal:i386 \
    libasound2:i386 libasound2-plugins:i386 libasyncns0:i386 libatomic1:i386 \
    libavahi-client3:i386 libavahi-common-data:i386 libavahi-common3:i386 \
    libavc1394-0:i386 libavcodec58:i386 libavutil56:i386 libblkid1:i386 \
    libbrotli1:i386 libbsd0:i386 libbz2-1.0:i386 libc6:i386 libcaca0:i386 \
    libcairo-gobject2:i386 libcairo2:i386 libcap2:i386 libcapi20-3:i386 \
    libcdparanoia0:i386 libcodec2-0.9:i386 libcom-err2:i386 libcrypt1:i386 \
    libcups2:i386 libcurl3-gnutls:i386 libdatrie1:i386 libdb5.3:i386 libdbus-1-3:i386 \
    libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 \
    libdrm2:i386 libdv4:i386 libedit2:i386 libelf1:i386 libexif12:i386 \
    libexpat1:i386 libfaudio0:i386 libffi7:i386 libflac8:i386 libfontconfig1:i386 \
    libfreetype6:i386 libfribidi0:i386 libgcc-s1:i386 libgcrypt20:i386 \
    libgd3:i386 libgdbm-compat4:i386 libgdbm6:i386 libgdk-pixbuf2.0-0:i386 \
    libgl1:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386 libglib2.0-0:i386 \
    libglu1-mesa:i386 libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libgmp10:i386 \
    libgnutls30:i386 libgomp1:i386 libgpg-error-l10n libgpg-error0:i386 \
    libgphoto2-6:i386 libgphoto2-port12:i386 libgpm2:i386 libgraphite2-3:i386 \
    libgsm1:i386 libgssapi-krb5-2:i386 libgssapi3-heimdal:i386 \
    libgstreamer-plugins-base1.0-0:i386 libgstreamer-plugins-good1.0-0:i386 \
    libgstreamer1.0-0:i386 libgudev-1.0-0:i386 libharfbuzz0b:i386 \
    libhcrypto4-heimdal:i386 libheimbase1-heimdal:i386 libheimntlm0-heimdal:i386 \
    libhogweed5:i386 libhx509-5-heimdal:i386 libicu66:i386 libidn2-0:i386 \
    libiec61883-0:i386 libieee1284-3:i386 libigdgmm11:i386 libilmbase24 \
    libjack-jackd2-0:i386 libjbig0:i386 libjpeg-turbo8:i386 libjpeg8:i386 \
    libjq1 libk5crypto3:i386 libkeyutils1:i386 libkrb5-26-heimdal:i386 \
    libkrb5-3:i386 libkrb5support0:i386 liblcms2-2:i386 libldap-2.4-2:i386 \
    libllvm10:i386 liblqr-1-0 libltdl7:i386 liblz4-1:i386 liblzma5:i386 \
    libmagickcore-6.q16-6 libmagickcore-6.q16-6-extra libmagickwand-6.q16-6 \
    libmount1:i386 libmp3lame0:i386 libmpg123-0:i386 libmysqlclient21:i386 \
    libncurses6:i386 libncursesw6:i386 libnetpbm10 libnettle7:i386 \
    libnghttp2-14:i386 libnuma1:i386 libodbc1:i386 libogg0:i386 libonig5 \
    libopenal1:i386 libopenexr24 libopenjp2-7:i386 libopus0:i386 liborc-0.4-0:i386 \
    libosmesa6:i386 libp11-kit0:i386 libpango-1.0-0:i386 libpangocairo-1.0-0:i386 \
    libpangoft2-1.0-0:i386 libpcap0.8:i386 libpci3:i386 libpciaccess0:i386 \
    libpcre2-8-0:i386 libpcre3:i386 libperl5.30:i386 libpixman-1-0:i386 \
    libpng16-16:i386 libproxy1v5:i386 libpsl5:i386 libpulse0:i386 \
    libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib libraw1394-11:i386 \
    libroken18-heimdal:i386 librsvg2-2:i386 librsvg2-common:i386 librtmp1:i386 \
    libsamplerate0:i386 libsane:i386 libsasl2-2:i386 libsasl2-modules:i386 \
    libsasl2-modules-db:i386 libsdl2-2.0-0:i386 libselinux1:i386 libsensors5:i386 \
    libshine3:i386 libshout3:i386 libslang2:i386 libsnappy1v5:i386 \
    libsndfile1:i386 libsndio7.0:i386 libsnmp35:i386 libsoup2.4-1:i386 \
    libsoxr0:i386 libspeex1:i386 libsqlite3-0:i386 libssh-4:i386 libssl1.1:i386 \
    libstb0:i386 libstdc++6:i386 libswresample3:i386 libsystemd0:i386 \
    libtag1v5:i386 libtag1v5-vanilla:i386 libtasn1-6:i386 libthai0:i386 \
    libtheora0:i386 libtiff5:i386 libtinfo6:i386 libtwolame0:i386 libudev1:i386 \
    libunistring2:i386 libusb-1.0-0:i386 libuuid1:i386 libv4l-0:i386 \
    libv4lconvert0:i386 libva-drm2:i386 libva-x11-2:i386 libva2:i386 \
    libvdpau1:i386 libvisual-0.4-0:i386 libvkd3d1:i386 libvorbis0a:i386 \
    libvorbisenc2:i386 libvpx6:i386 libvulkan1:i386 libwavpack1:i386 \
    libwayland-client0:i386 libwayland-cursor0:i386 libwayland-egl1:i386 \
    libwebp6:i386 libwebpmux3:i386 libwind0-heimdal:i386 libwine:i386 \
    libwrap0:i386 libwxbase3.0-0v5 libwxgtk3.0-gtk3-0v5 libx11-6:i386 \
    libx11-xcb1:i386 libx264-155:i386 libx265-179:i386 libxau6:i386 \
    libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386 \
    libxcb-randr0:i386 libxcb-render0:i386 libxcb-shm0:i386 libxcb-sync1:i386 \
    libxcb-xfixes0:i386 libxcb1:i386 libxcomposite1:i386 libxcursor1:i386 \
    libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxi6:i386 \
    libxinerama1:i386 libxkbcommon0:i386 libxml2:i386 libxpm4:i386 \
    libxrandr2:i386 libxrender1:i386 libxshmfence1:i386 libxslt1.1:i386 \
    libxss1:i386 libxv1:i386 libxvidcore4:i386 libxxf86vm1:i386 libzstd1:i386 \
    libzvbi0:i386 mesa-va-drivers:i386 mesa-vdpau-drivers:i386 \
    mesa-vulkan-drivers:i386 netpbm ocl-icd-libopencl1:i386 \
    playonlinux python-wxgtk3.0 python-wxversion python2 python2-minimal \
    python2.7 python2.7-minimal va-driver-all:i386 vdpau-driver-all:i386 \
    wine wine32:i386 zlib1g:i386
    

    (从上面的命令你可以看到两个 wx 相关的包 -python-wxgtk3.0 python-wxversion被列出)

    • 1

相关问题

  • 为 Python 应用程序设置构建系统

  • 为我的 PPA 创建包时遇到问题

  • 如何让 .NET 2.0 SP2 在 wine 中运行?

  • 为自定义 PPA 修补 Wine 的正确方法是什么?

  • 如何在 Ubuntu 中运行 Windows XP

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve