PyCharm 无法访问 /usr/lib/ 和 /usr/bin/ 中的文件

PyCharm cannot access files in /usr/lib/ and /usr/bin/

我正在使用 PyCharm 2020.2.3Python 3.8.6 在 Pop_OS! 20.10(你可以像我使用 Ubuntu 20.10 那样做)无法在 /usr/bin/usr/lib.[=21 中查看文件=]

这里是一个例子,如果我尝试触摸 /usr/lib/firefox/firefox 二进制文件。

# main.py
import os
print(os.path.exists('/usr/lib'))
print(os.path.exists('/usr/lib/firefox'))
print(open('/usr/lib/firefox/firefox', 'r'))

从命令行,这有效:

>>> python main.py
True
True
<_io.TextIOWrapper name='/usr/lib/firefox/firefox' mode='r' encoding='UTF-8'>

但是当我 运行 它在 PyCharm 中时,它失败了:

True         # Can see /usr/lib
False        # Cannot see /usr/lib/firefox
Traceback (most recent call last):
  File ..., line 5, in <module>
    print(open('/usr/lib/firefox/firefox', 'r'))
FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib/firefox/firefox'

以下是 usr/bin/firefox 的权限:

>>> ls -ld firefox
drwxr-xr-x 8 root root 4096 Oct 26 10:22 firefox

有很多关于类似问题的问题,但大多数最终都建议解决与所需特定文件相关的问题。

似乎存在某种权限问题,我想解决这个问题而不必依赖变通方法。

一个多月后,我发现 this thread on intellij-support 这说明问题的发生是因为我安装了 PyCharm flatpack。

I eventually figured out my issue was caused by how I installed pycharm. I had used the app store which installs a flatpack. Due to how flatpacks work, it installs an isolated environment containing everything the app needs. With normal apps this could be useful at the expense of duplicate files using extra disk space, but for development apps it makes it so you can't run your code reliably from inside the flatpack installed app.

-- Mvanorder1390 (Created October 30, 2019 13:13)

这正是我的问题。我从官方来源重新安装了 PyCharm,而不是我的应用商店,它只提供了一个扁平化版本,现在一切都很好用(没有双关语意)!