最奇怪的行为(pycharm、python、虚拟环境、加载错误)

问题描述 投票:0回答:1

长话短说:Python“看到”一些文件,但看不到其他文件。 the console inside pycharm

the files are there

这就是我正在尝试做的:

我想在 python 中使用“enchant”拼写检查库。我编写了一些在外部终端(= linux 终端 = 系统 shell)中完美运行的代码,但在 pycharm 下运行时失败。错误信息是“

ImportError: The 'enchant' C library was not found and maybe needs to be installed.
” 这些是与问题相关的其他信息:

  • 我使用的是 Linux Pop 操作系统
  • 项目已搭建虚拟环境(python 3.11,系统为3.10.12)
  • venv 中安装的 pyenchant 是 3.2.2,我也强制使用 3.0.0,如某处所示,没有任何改进
  • 我尝试过“
    sudo systemctl stop apparmor
    ”,但它没有改变任何东西。当 apparmor 处于活动状态时,当代码失败时,它不会显示任何新条目
  • 代码在系统终端上给出了该错误,然后我从 deb 包管理器安装了“python3-enchant”并且它开始工作,但仅在终端中,而不是在 pycharm 中
  • pycharm是通过flatpak安装的
  • 我已经用 deb 包中的内容覆盖了 venv pip 包 (pyenchant) 中的文件,但没有成功。然后我就恢复原来的了
  • 我尝试将全局变量添加到 pycharm 运行时配置中。如果我在没有全局变量的情况下运行脚本,我会得到“ImportError”,但是如果我将“
    PYENCHANT_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/libenchant-2.so.2
    ”添加到运行时配置,我会得到“
    OSError: cannot open shared object file: No such file or directory
    ”,这意味着,认为该文件不存在,如图所示截图。

简而言之,我认为这不是 pyenchant 库特有的问题。我只是觉得很奇怪,最简单的

os.path.exists
无法检测到某些文件的存在,但检测到其他文件。它们都位于同一文件夹中,并且具有相似的属性(可读权限)。我不明白发生了什么。

python pycharm python-venv
1个回答
0
投票

感谢@metatoaster 提出正确答案!显然 问题与 flatpak 有关。

我通过从 flatpak 卸载 Pycharm 解决了这个问题,然后从 Jetbrains 网站下载

.tar.gz
并“安装”那个(实际上只是解压)。

© www.soinside.com 2019 - 2024. All rights reserved.